Tổng hợp tiểu luận môn Bảo mật thông tin| Bài giảng môn Bảo mật thông tin| Trường Đại học Bách Khoa Hà Nội

Tổng hợp tiểu luận môn Bảo mật thông tin| Bài giảng môn Bảo mật thông tin| Trường Đại học Bách Khoa Hà Nội. Tài liệu gồm 334 trang giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kỳ thi sắp tới. Mời bạn đọc đón xem.

1
ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trường Công nghệ thông tin và Truyền thông
Đề tài: Xác thực X509, hệ thống,
chứng thư số, chữ ký số
Môn: Bảo mật thông tin
Giảng viên: PGS. TS. Nguyễn Linh Giang
Nhóm 5:
Thành viên:
1. Tài Công Mssv: 20194496
2. Đỗ Vũ Dũng Mssv: 20194520
3. Nguyễn Tiến Dũng Mssv: 20194524
4. Trần Nam Dương Mssv: 20194534
2
MC LC
LỜI MỞ ĐẦU ........................................................................................................... 3
I. CHỮ KÝ ĐIỆN TỬ .......................................................................................... 4
1.1. Tạo chữ ký điện tử ..................................................................................... 5
1.2. Kiểm tra chữ ký điện tử ............................................................................. 6
II. CHỨNG NHẬN ĐIỆN TỬ VÀ CHỨNG CHỈ X.509 ................................... 7
2.1. Tạo chứng nhận .......................................................................................... 8
2.2. Kiểm tra chứng nhận .................................................................................. 9
2.3. Dịch vụ xác thực X.509 ............................................................................. 9
2.4. Các chứng nhận X.509 .............................................................................10
2.5. Chuẩn X.509 (Ver. 3.0)............................................................................12
2.6. Các mở rộng xác thực (Certificate Extensions) .......................................13
III. CÁC THỦ TỤC XÁC THỰC TRONG X.509 (AUTHENTICATION
PROCEDURES) .....................................................................................................15
3.1. Xác thực một chiều trong X.509 ..............................................................15
3.2. Xác thực hai chiều trong X.509 ...............................................................17
3.3. Xác thực ba chiều trong X.509 ................................................................18
IV. HỆ THỐNG CẤP CHỨNG CHỈ (CERTIFICATE AUTHORITY
SYSTEM .................................................................................................................18
KẾT LUẬN .............................................................................................................24
3
LỜI MỞ ĐẦU
Trong những năm gần đây, mạng internet phát triển mạnh ng với việc chia sẻ
thông tin, lan truyền tập tin trên mạng. Nhưng môi trường mạng internet môi
trường hỗn hợp của nhiều mạng, nhiều loại thông tin. Do vậy, vấn đề bản quyền
thông tin, xác định nguồn của thông tin. Chữ ký điện tử còn khá mới, chỉ được triển
khai ở một số ít các doanh nghiệp tư, cơ quan hải quan, cơ quan thuế của
Chính phủ, mới chỉ được áp dụng trên tập tin văn bản, tập tin ảnh số.
Trong tiểu luận này, em tập trung trình bày những kiến thức cơ bản nhất về
đặc trưng chứng chỉ số X.509 và ứng dụng chữ ký số .
Với thời gian tìm hiểu và kiến thức còn hạn chế nên đề tài khó tránh khỏi
những thiếu sót. Chúng em rất mong được sự góp ý của thầy/cô.
Em xin chân thành cảm ơn!
4
I. CHỮ KÝ ĐIỆN TỬ
Ngày nay với sự phát triển bùng nổ của công nghệ thông tin, hầu hết các thông
tin của tất cả mọi nhân, tập thể đều được lưu trữ trên hệ thống máy tính. Cùng với
sự phát triển của hội, cần phải chia sẻ thông tin của mình cho nhiều đối tượng
khác nhau qua Internet. Chính những điều này đã và đang mang lại những lợi ích to
lớn cho việc chia sẻ tài nguyên, kết nối trong các tổ chức. Việc mất mát, rò rỉ thông
tin thể ảnh hưởng nghiêm trọng đến tài chính, danh tiếng nhiều yếu tố khác.
Chính vì thế công tác an toàn bảo mật ngày càng trở nên quan trọng và cần thiết.
Trong thế giới số, 3 cách để xác thực một người hoặc mức độ tin cậy của một
thông tin trên máy tính. Một Pass Card (Thẻ thông hành) nước ta hiện nay
chưa phổ biến. Hai Password, cách này sử dụng tên truy nhập (User Name) mật
khẩu (Password) cung cấp cho các Form đăng nhập xác thực thông tin. Thứ ba, dùng
Digital Signature (chữ ký điện tử). để tiết kiệm thời gian, tiền bạc.
Chữ ký điện tử là phương thức để đảm bảo xác thực các tài liệu điện tử
(E-mail, File text, bảng tính...).
Chuẩn chữ điện tử DSS (Digital Signature Standard) là một tiêu chuẩn dựa
trên một dạng của phương pháp hóa khóa công khai sử dụng thuật toán
DSA (Digital Signature Algorithm), được định dạng cho chữ điện tử
được chứng thực bởi chính phủ Mỹ.
Thuật toán DSA gồm một khóa riêng (Private Key) chỉ được biết bởi người
chủ của tài liệu và một khóa công khai (Public Key) mà bất cứ ai cần nó đều
có thể biết.
5
1.1. Tạo chữ ký điện tử
Để tạo chữ điện tử, dữ liệu của bạn sẽ lấy ra một vài dòng, được gọi
thông báo tóm tắt, bằng một tiến trình được gọi “kỹ thuật băm” (hashing), rồi bảng
thông báo tóm tắt này, sẽ kết hợp với 1 khóa bí mật tạo thành chữ ký điện tử.
Cuối cùng, chữ ký điện tử này sẽ gắn vào văn bản và được truyền đi.
Các bước mã hóa:
1. Dùng giải thuật băm để thay đổi thông điệp cần truyền đi. Kết quả ta
đượcmột message digest. Dùng giải thuật MD5 (Message Digest 5) ta được
digest có chiều dài 128-bit, dùng giải thuật SHA (Secure Hash Algorithm) ta
có chiều dài 160-bit.
2. Sử dụng khóa private key của người gửi để mã hóa message digest
thuđược ở bước 1. Thông thường ở bước này ta dùng giải thuật RSA. Kết
quả thu được gọi là digital signature của message ban đầu.
3. Gộp digital signature vào message ban đầu. Công việc này gọi là
“kýnhận” vào message. Sau khi đã ký nhận vào message, mọi sự thay đổi
trên message sẽ bị phát hiện trong giai đoạn kiểm tra. Ngoài ra, việc ký nhận
này đảm bảo người nhận tin tưởng message này xuất phát từ người gửi chứ
không phải là ai khác.
6
1.2. Kiểm tra chữ ký điện tử
1. Dùng public key của người gửi (khóa này được thông báo đến mọi người) để
giải mã chữ ký số của message.
2. Dùng giải thuật (MD5 hoặc SHA) băm message đính kèm.
3. So sánh kết quả thu được ở bước 1 và 2. Nếu trùng nhau, ta kết luận message
này không bị thay đổi trong quá trình truyền và message này là của người
gửi.
Để cho chắc ăn hơn, tránh tình trạng người khác làm giả chữ để đánh lừa
người nhận, bạn thể xin một chứng chỉ điện tử (Digital Certificate) tại một
quan có thẩm quyền để chứng thực cho Public Key của bạn. Để xác định chính xác
tính trung thực của văn bản.
7
II. CHỨNG NHẬN ĐIỆN TỬ VÀ CHỨNG CHỈ X.509
Chứng nhận điện tử là chứng thực sự sở hữu khóa công khai.
Xác thực :
Khi bạn gửi một thông tin kèm chứng chỉ số, người nhận - có thể là đối tác
kinh doanh, tổ chức hoặc cơ quan chính quyền - sẽ xác định rõ được danh tính của
bạn. Có nghĩa là dù không nhìn thấy bạn, nhưng qua hệ thống chứng chỉ số mà bạn
và người nhận cùng sử dụng, người nhận sẽ biết chắc chắn đó là bạn chứ không
phải là một người khác.
Xác thực là một tính năng rất quan trọng trong việc thực hiện các giao dịch
điện tử qua mạng, cũng như các thủ tục hành chính với cơ quan pháp quyền. Các
hoạt động này cần phải xác minh rõ người gửi thông tin để sử dụng tư cách pháp
nhân. Đây chính là nền tảng của một Chính phủ điện tử , môi trường cho phép
công dân có thể giao tiếp, thực hiện các công việc hành chính với cơ quan nhà
nước hoàn toàn qua mạng. Có thể nói, chứng chỉ số là một phần không thể thiếu, là
phần cốt lõi của Chính phủ điện tử.
8
2.1. Tạo chứng nhận
Các bước mã hoá:
Bước 1: dùng giải thuật băm để thay đổi thông điệp cần truyền đi. kết quả ta
được một message digest. Dùng giải thuật MD5 (message digest 5) ta được
digest có chiều dài 128 bit, dùng giải thuật SHA (Secure Hash Algorithm) ta
có chiều dài 160 bit.
Bước 2: sử dụng khóa private key của người gửi để mã hóa message digest
thu được ở bước 1. Thông thường ở bước này dùng giải thuật RSA ( hay
DSA, RC2, 3DES, …). Kết quả thu được gọi là digital signature của thông
điệp ban đầu.
Bước 3: sử dụng public key của người nhận để mã hoá những thông tin cần
gửi đi.
Bước 4: Gộp digital signature vào message đã được mã hoá và gửi đi. Như
vậy sau khi đã ký nhận digital signature vào message đã được mã hoá, mọi
sự thay đổi trên message sẽ bị phát hiện trong giai đoạn kiểm tra. Ngoài ra,
việc ký nhận này đảm bảo người nhận tin tưởng message này xuất phát từ
người gửi chứ không phải là ai khác.
9
2.2. Kiểm tra chứng nhận
Các bước kiểm tra:
Bước 1: người nhận dùng private key của mình để giải mã thông tin nhận
được gồm 2 phần: phần message và phần chữ ký người gửi.
Bước 2: dùng public key của người gửi (khoá này được thông báo đến
mọi người ) để giải mã chữ ký số của message, ta được message digest.
Bước 3: dùng giải thuật MD5 ( hoặc SHA) băm message đính kèm ta có
message digest.
Bước 4: So sánh kết quả thu được ở bước 2 và 3 nếu trùng nhau, ta kết luận
message này không bị thay đổi trong quá trình truyền và message này là của
người gửi.
2.3. Dịch vụ xác thực X.509
Dịch vụ xác thực X.509 là định dạng chứng chỉ được sử dụng phổ biến nhất
và được hầu hết các nhà cung cấp sản phẩm PKI triển khai.
10
Chứng chỉ khóa công khai X.509 được Hội viễn thông quốc tế (ITU) đưa ra
lần đầu tiên vào năm 1998 như là một bộ phận của dịch vụ thư mục X.500
Chứng chỉ gồm 2 phần. Phần đầu những trường bản cần thiết phải
trong chứng chỉ. Phần thứ hai chứa thêm một số trường phụ, những trường phụ này
được gọi trường mở rộng dùng đxác định đáp ứng những yêu cầu bổ sung của
hệ thống.
ITU-T đã ban hành 3 phiên bản chứng thư số X.509 với 5 lần sửa đổi và b
sung.
2.4. Các chứng nhận X.509
Được phát hành bởi chủ quyền chứng nhận (Certification Authority
CA) bao gồm:
Các phiên bản 1,2 hoặc 3
Số loạt phát hành do CA chứng nhận.
Thuật toán xác định chữ ký
Xuất bản tên X.500 (CA)
Chu kỳ hiệu lực (từ-đến ngày)
Đối tượng của tên X.500 (tên của người sở hữu)
Đối tượng thông tin khoá công khai (thuật toán, các tham số,khoá)
Định danh duy nhất xuất bản (phiên bản 2+)
Định danh duy nhất đối tượng (phiên bản 2+)
Các trường mở rộng (phiên bản 3)
Chữ ký (hoặc hash của các trường trong chứng nhận)
Đây là phiên bản cập nhật mới nhất của ITU-T về khuôn dạng chuẩn cho các
trường cơ bản cũng như mở rộng của chứng thư số (X.509 v3).
11
Trường cơ bản: có 9 trường cơ bản, tuy nhiên ITU-T khuyến nghị nên sử dụng
7 trường và 7 trường này bắt buộc phải có trong tất cả các chứng thư số.
Trường mở rộng: Tài liệu liệt kê 16 trường mở rộng có thể sử dụng trong
chứng thư số.
12
2.5. Chuẩn X.509 (Ver. 3.0)
Version: Xác định số phiên bản của chứng nhận
X.509.
Serial Number: Số loạt phát hành được gán bởi
CA. Mỗi CA nên n một mã số loạt duy nhất
cho mỗi giấy chứng nhận mà nó phát hành.
Signature Algorithm: Thuật toán chữ ký chỉ rõ
thuật toán mã hóa được CA sử dụng để ký giấy
chứng nhận. Trong chứng nhận X.509 thường là
sự kết hợp giữa thuật toán băm (chẳng hạn như
MD5) và thuật toán khóa công cộng
(chẳng hạn như RSA).
Issuer Name:
o Tên tổ chức CA cấp và ký chứng chỉ.
Validity Period: gồm hai giá trị chỉ định khoảng
thời gian mà giấy chứng nhận có hiệu lực: not-before và not-after.
o Not-before: thời gian chứng nhận bắt đầu có hiệu lực
o Not-after: thời gian chứng nhận hết hiệu lực.
o Các giá trị thời gian này được đo theo chuẩn thời gian Quốc tế, chính
xác đến từng giây.
Subject Name: Xác định thực thể mà khóa công khai của thực thể này được
xác nhận. Tên của Subject phải duy nhất đối với mỗi thực thể CA xác nhận.
Public Key: chứa khóa công khai và những tham số liên quan; xác định thuật
toán (RSA hay DSA) được sử dụng cùng với khóa.
Issuer Unique ID: là trường không bắt buộc, trường này cho phép sử dụng
lại tên người cấp. Trường này hiếm được sử dụng trong triển khai thực tế.
Subject Unique ID: là trường tùy chọn cho phép sử dụng lại tên của subject
khi quá hạn. Trường này cũng ít được sử dụng.
13
Extensions: chỉ có trong chứng nhận v.3.
Signature:
chữ ký điện tử được tổ chức CA áp dụng.
Tổ chức CA sử dụng khóa bí mật có kiểu quy định trong trường thuật toán
chữ ký.
Chữ ký bao gồm tất cả các phần khác trong giấy chứng nhận.
CA chứng nhận cho tất cả các thông tin khác trong giấy chứng nhận chứ không
chỉ cho tên chủ thể và khóa công cộng.
2.6. Các mở rộng xác thực (Certificate Extensions)
Authority Key Identifier
Subject Key Identifier
Key Usage
Extended Key Usage
CRL Distribution Point
Private Key Usage Period
Certificate Policies
Policy Mappings
Subject Alternative Name
Issuer Alternative Name
Subject Directory Attributes
Basic Constraints Field
Path Length Constraint
Name Constraints
14
Policy Constraints
Phần mở rộng là những thông tin về các thuộc tính cần thiết được đưa vào để
gắn những thuộc tính này với người sử dụng hay khóa công khai. Những thông
tin trong phần mở rộng thường được dùng đquản xác thực phân cấp, chính
sách chứng chỉ, thông tin về chứng chỉ bị thu hồi cũng thể được sử dụng
để định nghĩa phần mở rộng riêng chứa những thông tin đặc trưng cho cộng đồng
nhất định. Mỗi trường mở rộng trong chứng chỉ được thiết kế với cờ
“critical” hoặc “uncritical” (phê bình, đánh giá)
Authority Key Identifier (nhận dạng quyền hạn của khóa)
Subject Key Identifier(nhận dạng đối tượng khóa)
Key Usage (cách sử dụng khóa)
Extended Key Usage(mở rộng của việc sử dụng khóa)
CRL Distribution Point (điểm sắp xếp vị trí của CRL)
Private Key Usage Period (thời gian, thời kỳ về việc sử dụng khóa chính)
Alternative (có thể thay thế cho 1 vật khác, khác)
15
III. CÁC THỦ TỤC XÁC THỰC TRONG X.509
(AUTHENTICATION PROCEDURES)
X.509 bao gồm ba thủ tục xác thực tùy chọn:
Xác thực một chiều.
Xác thực hai chiều.
Xác thực ba chiều.
Mọi thủ tục trên đều sử dụng các chữ ký khoá công khai.
X.509 cũng bao gồm ba quy trình xác thực thay thế được dự định sử dụng trên
nhiều ứng dụng khác nhau, được sử dụng khi lấy và sử dụng chứng chỉ. 1 chiều
cho các tin nhắn một chiều (như email), 2 chiều cho các phiên tương tác khi sử
dụng dấu thời gian, 3 chiều cho các phiên tương tác không cần dấu thời gian (và
do đó đồng hồ được đồng bộ hóa)
3.1. Xác thực một chiều trong X.509
Là 1 giao thức xác thực, sử dụng 1 tin nhắn đơn để gửi giữa 2 máy. Phương
thức này đại điện cho việc xác thực đơn giản, nó đòi hỏi chỉ có 1 tin nhắn được
gửi giữa 2 người sử dụng, cho phép người thứ 2 có thể xác minh danh tính của
người gửi, xác minh rằng mình là người nhận, và cuối cùng là xác minh thông
tin không bị thay đổi trên đường truyền.
Xác thực một chiều liên quan đến một lần chuyển thông tin từ một người
dùng (A) sang người khác (B) và thiết lập các chi tiết được hiển thị ở trên. Lưu
ý rằng chỉ có danh tính của thực thể khởi tạo được xác minh trong quy trình
này, không phải danh tính của thực thể phản hồi.
16
Tối thiểu, tin nhắn bao gồm timestamp, số không và danh tính của B và
được ký bằng khóa riêng của A lề. Thông báo cũng có thể bao gồm thông tin
cần truyền đạt, chẳng hạn như khóa phiên cho B.
Dấu thời gian (timestamp)
Timestamp là thời gian hiện tại mà một sự kiện được ghi lại bởi máy tính
Timestamp là 1 giá trị được biểu thị dưới dạng mi li giây, và nó là giá trị
thời gian được lấy tại thời điểm mà thao tác của mình trên máy tính xảy ra.
Một dấu thời gian là thời gian hiện tại của một sự kiện được ghi lại bởi một
máy tính. Thông qua các cơ chế như: Thời Network Protocol (NTP), một máy
tính duy trì chính xác hiện thời, kiểm định để phân số phút của một giây. Như
vậy độ chính xác làm cho nó có thể cho các máy tính nối mạng và các ứng dụng
giao tiếp hiệu quả. Cơ chế "một dấu thời gian được sử dụng cho nhiều mục đích
đồng bộ, chẳng hạn như gán một lệnh cho một chuỗi nhiều sự kiện giao dịch để
nếu không xảy ra các giao dịch có thể được voided. Một cách khác là một dấu
thời gian được sử dụng là để ghi lại thời gian trong quan hệ với một điểm bắt
đầu cụ thể. Trong điện thoại IP, ví dụ, Real-time Transport Protocol (RTP) gán
timestamps tuần tự để gói tiếng nói s để họ có thể đệm ed của người nhận,
reassembled, và giao hàng mà không có lỗi. Khi viết một chương trình, lập trình
thường là cung cấp một giao diện chương trình ứng dụng cho một dấu thời gian
mà hệ điều hành có thể cung cấp trong quá trình thực hiện chương trình.
Chỉ có một phía được xác thực, phía bên kia mặc nhiên được tin tưởng.
Client xác thực với server mà không cần ngược lại.
17
3.2. Xác thực hai chiều trong X.509
Là phương thức mở rộng của phương thức 1 chiều, phương pháp này có thêm
1 tin nhắn từ người nhận trả về người gửi. Thông tin này cho người gửi biết rằng
người sử dụng thứ 2 chủ sở hữu của khóa public được sử dụng để hóa thông
báo ban đầu. Người nhận cũng biết được rằng tin nhắn này người A gửi cho
anh ta vì nó có thể xác minh được bằng cách sử dụng khóa riêng của người gửi.
Do đó, xác thực hai chiều cho phép cả hai bên trong một giao tiếp xác minh
danh tính của bên kia, do đó cũng thiết lập các chi tiết trên. Tin nhắn trả lời bao
gồm số không từ A, để xác nhận trả lời. Nó cũng bao gồm dấu thời gian và nonce
do B tạo ra và thông tin bổ sung có thể có cho A.
Hai mẩu tin A->B và B->A được thiết lập, ngoài mẩu tin từ A đến B như
trên còn có:
- Danh tính của B và trả lời từ B
- Trả lời này dành cho A
- Tính toàn vẹn và gốc gác của trả lời
Trả lời bao gồm cả hiệu đặc trưng của mẫu tin (nonce) từ A, cả nhãn thời gian
và ký hiệu đặc trưng trả lời từ B. Có thể gồm một số thông tin bổ sung cho A.
trả lời cho phép người sử dụng đầu tiên để xác minh rằng người sử dụng thứ hai
là chshữu của khóa public được sdụng để mã hóa thông báo ban đầu. người
sử dụng thứ hai cũng biết tin nhắn được dự định cho anh ta thể được xác
minh bằng cách sử dụng khóa riêng của người sử dụng đầu tiên
18
3.3. Xác thực ba chiều trong X.509
Khi bạn không đảm bảo được rằng đồng hồ đồng bộ của các máy chủ được đồng
bộ hóa, bạn sử dụng phương thức 3 chiều này, trong phương pháp này, một tin nhắn
trả lời thứ 2 chứa 1 timestamps từ người người gửi được thêm vào để trao đổi. Tin
nhắn này được gửi đi để xác minh 2 tin timestamps tin nhắn khác là hợp lệ. \
Bằng tin nhắn trở lại này với timestamps cuối cùng, người nhận có thể xác minh
được rằng tất cả các tin nhắn khi gửi là hợp lan toàn vì timestamp là các logic
thời gian. Nếu timestamps này không đứng như logic thì người dùng có thể nghi ngờ
vấn đề trên đường truyền.
Xác thực ba chiều bao gồm một thông báo cuối cùng tA đến B, trong đó một
bản sao chữ của nonce, do đó không cần kiểm tra dấu thời gian, để sử dụng
khi đồng hồ không được đồng bộ hóa.
IV. HỆ THỐNG CẤP CHỨNG CHỈ (CERTIFICATE
AUTHORITY SYSTEM
Có một số mô hình tin cậy có thể áp dụng hoặc sử dụng trong hệ thống mã
khoá công khai - PKI dựa trên X.509:
- Single CA Model (mô hình CA đơn)
19
Trong mật mã, cơ quan cấp chứng chỉ hoặc cơ quan cấp chứng chỉ (CA) là
một thực thể cấp chứng chỉ số. Chứng chỉ số xác nhận quyền sở hữu khóa công
khai của chủ thể có tên của chứng chỉ. Điều này cho phép những người khác (các
bên phụ thuộc) dựa vào chữ ký hoặc các xác nhận được đưa ra về khóa riêng tương
ứng với khóa công khai được chứng nhận. CA hoạt động như một bên thứ ba đáng
tin cậy — được cả chủ thể (chủ sở hữu) của chứng chỉ và bên dựa vào chứng chỉ
tin cậy. Định dạng của các chứng chỉ này được chỉ định bởi tiêu chuẩn X.509 hoặc
EMV.
Một cách sử dụng đặc biệt phổ biến đối với tổ chức phát hành chứng chỉ là
ký các chứng chỉ được sử dụng trong HTTPS, giao thức duyệt web an toàn cho
World Wide Web. Một cách sử dụng phổ biến khác là trong việc phát hành chứng
minh thư của các chính phủ quốc gia để sử dụng trong các văn bản ký điện tử
- Hierarchical Model (Mô hình phân cấp )
20
Mô hình phân cấp là nh trong đó các cấp thấp hơn được sắp xếp theo h
thống phân cấp của các đơn vị cấp cao hơn kế tiếp nhau. Dữ liệu được nhóm thành
các cụm ở một hoặc nhiều cấp, và ảnh hưởng của các cụm đối với các điểm dữ liệu
chứa trong chúng được tính đến trong bất kỳ phân tích thống kê nào.
- Web Model (Trust Lists) (Mô hình web)
| 1/334

Preview text:

ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trường Công nghệ thông tin và Truyền thông
Đề tài: Xác thực X509, hệ thống,
chứng thư số, chữ ký số Môn: Bảo mật thông tin
Giảng viên: PGS. TS. Nguyễn Linh Giang Nhóm 5: Thành viên:
1. Vũ Tài Công Mssv: 20194496
2. Đỗ Vũ Dũng Mssv: 20194520
3. Nguyễn Tiến Dũng Mssv: 20194524
4. Trần Nam Dương Mssv: 20194534 1 MỤC LỤC
LỜI MỞ ĐẦU ........................................................................................................... 3 I.
CHỮ KÝ ĐIỆN TỬ .......................................................................................... 4 1.1.
Tạo chữ ký điện tử ..................................................................................... 5 1.2.
Kiểm tra chữ ký điện tử ............................................................................. 6
II. CHỨNG NHẬN ĐIỆN TỬ VÀ CHỨNG CHỈ X.509 ................................... 7 2.1.
Tạo chứng nhận .......................................................................................... 8 2.2.
Kiểm tra chứng nhận .................................................................................. 9 2.3.
Dịch vụ xác thực X.509 ............................................................................. 9 2.4.
Các chứng nhận X.509 .............................................................................10 2.5.
Chuẩn X.509 (Ver. 3.0)............................................................................12 2.6.
Các mở rộng xác thực (Certificate Extensions) .......................................13
III. CÁC THỦ TỤC XÁC THỰC TRONG X.509 (AUTHENTICATION
PROCEDURES) .....................................................................................................15 3.1.
Xác thực một chiều trong X.509 ..............................................................15 3.2.
Xác thực hai chiều trong X.509 ...............................................................17 3.3.
Xác thực ba chiều trong X.509 ................................................................18
IV. HỆ THỐNG CẤP CHỨNG CHỈ (CERTIFICATE AUTHORITY
SYSTEM .................................................................................................................18
KẾT LUẬN .............................................................................................................24 2 LỜI MỞ ĐẦU
Trong những năm gần đây, mạng internet phát triển mạnh cùng với việc chia sẻ
thông tin, lan truyền tập tin trên mạng. Nhưng môi trường mạng internet là môi
trường hỗn hợp của nhiều mạng, nhiều loại thông tin. Do vậy, vấn đề bản quyền
thông tin, xác định nguồn của thông tin. Chữ ký điện tử còn khá mới, chỉ được triển
khai ở một số ít các doanh nghiệp tư, cơ quan hải quan, cơ quan thuế của
Chính phủ, mới chỉ được áp dụng trên tập tin văn bản, tập tin ảnh số.
Trong tiểu luận này, em tập trung trình bày những kiến thức cơ bản nhất về
đặc trưng chứng chỉ số X.509 và ứng dụng chữ ký số .
Với thời gian tìm hiểu và kiến thức còn hạn chế nên đề tài khó tránh khỏi
những thiếu sót. Chúng em rất mong được sự góp ý của thầy/cô.
Em xin chân thành cảm ơn! 3 I. CHỮ KÝ ĐIỆN TỬ
Ngày nay với sự phát triển bùng nổ của công nghệ thông tin, hầu hết các thông
tin của tất cả mọi cá nhân, tập thể đều được lưu trữ trên hệ thống máy tính. Cùng với
sự phát triển của xã hội, cần phải chia sẻ thông tin của mình cho nhiều đối tượng
khác nhau qua Internet. Chính những điều này đã và đang mang lại những lợi ích to
lớn cho việc chia sẻ tài nguyên, kết nối trong các tổ chức. Việc mất mát, rò rỉ thông
tin có thể ảnh hưởng nghiêm trọng đến tài chính, danh tiếng và nhiều yếu tố khác.
Chính vì thế công tác an toàn bảo mật ngày càng trở nên quan trọng và cần thiết.
Trong thế giới số, có 3 cách để xác thực một người hoặc mức độ tin cậy của một
thông tin trên máy tính. Một là Pass Card (Thẻ thông hành) mà ở nước ta hiện nay
chưa phổ biến. Hai là Password, cách này sử dụng tên truy nhập (User Name) và mật
khẩu (Password) cung cấp cho các Form đăng nhập xác thực thông tin. Thứ ba, dùng
Digital Signature (chữ ký điện tử). để tiết kiệm thời gian, tiền bạc.
● Chữ ký điện tử là phương thức để đảm bảo xác thực các tài liệu điện tử
(E-mail, File text, bảng tính...).
● Chuẩn chữ ký điện tử DSS (Digital Signature Standard) là một tiêu chuẩn dựa
trên một dạng của phương pháp mã hóa khóa công khai sử dụng thuật toán
DSA (Digital Signature Algorithm), được định dạng cho chữ ký điện tử và
được chứng thực bởi chính phủ Mỹ.
● Thuật toán DSA gồm có một khóa riêng (Private Key) chỉ được biết bởi người
chủ của tài liệu và một khóa công khai (Public Key) mà bất cứ ai cần nó đều có thể biết. 4
1.1. Tạo chữ ký điện tử
Để tạo chữ ký điện tử, dữ liệu của bạn sẽ lấy ra một vài dòng, được gọi là
thông báo tóm tắt, bằng một tiến trình được gọi là “kỹ thuật băm” (hashing), rồi bảng
thông báo tóm tắt này, sẽ kết hợp với 1 khóa bí mật tạo thành chữ ký điện tử.
Cuối cùng, chữ ký điện tử này sẽ gắn vào văn bản và được truyền đi. Các bước mã hóa: 1.
Dùng giải thuật băm để thay đổi thông điệp cần truyền đi. Kết quả ta
đượcmột message digest. Dùng giải thuật MD5 (Message Digest 5) ta được
digest có chiều dài 128-bit, dùng giải thuật SHA (Secure Hash Algorithm) ta có chiều dài 160-bit. 2.
Sử dụng khóa private key của người gửi để mã hóa message digest
thuđược ở bước 1. Thông thường ở bước này ta dùng giải thuật RSA. Kết
quả thu được gọi là digital signature của message ban đầu. 3.
Gộp digital signature vào message ban đầu. Công việc này gọi là
“kýnhận” vào message. Sau khi đã ký nhận vào message, mọi sự thay đổi
trên message sẽ bị phát hiện trong giai đoạn kiểm tra. Ngoài ra, việc ký nhận
này đảm bảo người nhận tin tưởng message này xuất phát từ người gửi chứ không phải là ai khác. 5
1.2. Kiểm tra chữ ký điện tử
1. Dùng public key của người gửi (khóa này được thông báo đến mọi người) để
giải mã chữ ký số của message.
2. Dùng giải thuật (MD5 hoặc SHA) băm message đính kèm.
3. So sánh kết quả thu được ở bước 1 và 2. Nếu trùng nhau, ta kết luận message
này không bị thay đổi trong quá trình truyền và message này là của người gửi.
Để cho chắc ăn hơn, tránh tình trạng người khác làm giả chữ ký để đánh lừa
người nhận, bạn có thể xin một chứng chỉ điện tử (Digital Certificate) tại một cơ
quan có thẩm quyền để chứng thực cho Public Key của bạn. Để xác định chính xác
tính trung thực của văn bản. 6 II.
CHỨNG NHẬN ĐIỆN TỬ VÀ CHỨNG CHỈ X.509
Chứng nhận điện tử là chứng thực sự sở hữu khóa công khai. Xác thực :
Khi bạn gửi một thông tin kèm chứng chỉ số, người nhận - có thể là đối tác
kinh doanh, tổ chức hoặc cơ quan chính quyền - sẽ xác định rõ được danh tính của
bạn. Có nghĩa là dù không nhìn thấy bạn, nhưng qua hệ thống chứng chỉ số mà bạn
và người nhận cùng sử dụng, người nhận sẽ biết chắc chắn đó là bạn chứ không
phải là một người khác.
Xác thực là một tính năng rất quan trọng trong việc thực hiện các giao dịch
điện tử qua mạng, cũng như các thủ tục hành chính với cơ quan pháp quyền. Các
hoạt động này cần phải xác minh rõ người gửi thông tin để sử dụng tư cách pháp
nhân. Đây chính là nền tảng của một Chính phủ điện tử , môi trường cho phép
công dân có thể giao tiếp, thực hiện các công việc hành chính với cơ quan nhà
nước hoàn toàn qua mạng. Có thể nói, chứng chỉ số là một phần không thể thiếu, là
phần cốt lõi của Chính phủ điện tử. 7
2.1. Tạo chứng nhận Các bước mã hoá:
Bước 1: dùng giải thuật băm để thay đổi thông điệp cần truyền đi. kết quả ta
được một message digest. Dùng giải thuật MD5 (message digest 5) ta được
digest có chiều dài 128 bit, dùng giải thuật SHA (Secure Hash Algorithm) ta có chiều dài 160 bit.
Bước 2: sử dụng khóa private key của người gửi để mã hóa message digest
thu được ở bước 1. Thông thường ở bước này dùng giải thuật RSA ( hay
DSA, RC2, 3DES, …). Kết quả thu được gọi là digital signature của thông điệp ban đầu.
Bước 3: sử dụng public key của người nhận để mã hoá những thông tin cần gửi đi.
Bước 4: Gộp digital signature vào message đã được mã hoá và gửi đi. Như
vậy sau khi đã ký nhận digital signature vào message đã được mã hoá, mọi
sự thay đổi trên message sẽ bị phát hiện trong giai đoạn kiểm tra. Ngoài ra,
việc ký nhận này đảm bảo người nhận tin tưởng message này xuất phát từ
người gửi chứ không phải là ai khác. 8
2.2. Kiểm tra chứng nhận Các bước kiểm tra:
Bước 1: người nhận dùng private key của mình để giải mã thông tin nhận
được gồm 2 phần: phần message và phần chữ ký người gửi.
Bước 2: dùng public key của người gửi (khoá này được thông báo đến
mọi người ) để giải mã chữ ký số của message, ta được message digest.
Bước 3: dùng giải thuật MD5 ( hoặc SHA) băm message đính kèm ta có message digest.
Bước 4: So sánh kết quả thu được ở bước 2 và 3 nếu trùng nhau, ta kết luận
message này không bị thay đổi trong quá trình truyền và message này là của người gửi.
2.3. Dịch vụ xác thực X.509
Dịch vụ xác thực X.509 là định dạng chứng chỉ được sử dụng phổ biến nhất
và được hầu hết các nhà cung cấp sản phẩm PKI triển khai. 9
Chứng chỉ khóa công khai X.509 được Hội viễn thông quốc tế (ITU) đưa ra
lần đầu tiên vào năm 1998 như là một bộ phận của dịch vụ thư mục X.500
Chứng chỉ gồm 2 phần. Phần đầu là những trường cơ bản cần thiết phải có
trong chứng chỉ. Phần thứ hai chứa thêm một số trường phụ, những trường phụ này
được gọi là trường mở rộng dùng để xác định và đáp ứng những yêu cầu bổ sung của hệ thống.
ITU-T đã ban hành 3 phiên bản chứng thư số X.509 với 5 lần sửa đổi và bổ sung.
2.4. Các chứng nhận X.509
● Được phát hành bởi chủ quyền chứng nhận (Certification Authority – CA) bao gồm:
● Các phiên bản 1,2 hoặc 3
● Số loạt phát hành do CA chứng nhận.
● Thuật toán xác định chữ ký
● Xuất bản tên X.500 (CA)
● Chu kỳ hiệu lực (từ-đến ngày)
● Đối tượng của tên X.500 (tên của người sở hữu)
● Đối tượng thông tin khoá công khai (thuật toán, các tham số,khoá)
● Định danh duy nhất xuất bản (phiên bản 2+)
● Định danh duy nhất đối tượng (phiên bản 2+)
● Các trường mở rộng (phiên bản 3)
● Chữ ký (hoặc hash của các trường trong chứng nhận)
Đây là phiên bản cập nhật mới nhất của ITU-T về khuôn dạng chuẩn cho các
trường cơ bản cũng như mở rộng của chứng thư số (X.509 v3). 10
Trường cơ bản: có 9 trường cơ bản, tuy nhiên ITU-T khuyến nghị nên sử dụng
7 trường và 7 trường này bắt buộc phải có trong tất cả các chứng thư số.
Trường mở rộng: Tài liệu liệt kê 16 trường mở rộng có thể sử dụng trong chứng thư số. 11
2.5. Chuẩn X.509 (Ver. 3.0)
● Version: Xác định số phiên bản của chứng nhận X.509.
● Serial Number: Số loạt phát hành được gán bởi
CA. Mỗi CA nên gán một mã số loạt duy nhất
cho mỗi giấy chứng nhận mà nó phát hành.
● Signature Algorithm: Thuật toán chữ ký chỉ rõ
thuật toán mã hóa được CA sử dụng để ký giấy
chứng nhận. Trong chứng nhận X.509 thường là
sự kết hợp giữa thuật toán băm (chẳng hạn như
MD5) và thuật toán khóa công cộng (chẳng hạn như RSA). ● Issuer Name:
o Tên tổ chức CA cấp và ký chứng chỉ.
● Validity Period: gồm hai giá trị chỉ định khoảng
thời gian mà giấy chứng nhận có hiệu lực: not-before và not-after.
o Not-before: thời gian chứng nhận bắt đầu có hiệu lực
o Not-after: thời gian chứng nhận hết hiệu lực.
o Các giá trị thời gian này được đo theo chuẩn thời gian Quốc tế, chính xác đến từng giây.
● Subject Name: Xác định thực thể mà khóa công khai của thực thể này được
xác nhận. Tên của Subject phải duy nhất đối với mỗi thực thể CA xác nhận.
● Public Key: chứa khóa công khai và những tham số liên quan; xác định thuật
toán (RSA hay DSA) được sử dụng cùng với khóa.
● Issuer Unique ID: là trường không bắt buộc, trường này cho phép sử dụng
lại tên người cấp. Trường này hiếm được sử dụng trong triển khai thực tế.
● Subject Unique ID: là trường tùy chọn cho phép sử dụng lại tên của subject
khi quá hạn. Trường này cũng ít được sử dụng. 12
● Extensions: chỉ có trong chứng nhận v.3. ● Signature:
chữ ký điện tử được tổ chức CA áp dụng.
Tổ chức CA sử dụng khóa bí mật có kiểu quy định trong trường thuật toán chữ ký.
Chữ ký bao gồm tất cả các phần khác trong giấy chứng nhận.
CA chứng nhận cho tất cả các thông tin khác trong giấy chứng nhận chứ không
chỉ cho tên chủ thể và khóa công cộng.
2.6. Các mở rộng xác thực (Certificate Extensions)
Authority Key Identifier
Subject Key Identifier Key Usage Extended Key Usage
CRL Distribution Point
Private Key Usage Period
Certificate Policies Policy Mappings
Subject Alternative Name
Issuer Alternative Name
Subject Directory Attributes
Basic Constraints Field
Path Length Constraint Name Constraints 13 Policy Constraints
Phần mở rộng là những thông tin về các thuộc tính cần thiết được đưa vào để
gắn những thuộc tính này với người sử dụng hay khóa công khai. Những thông
tin trong phần mở rộng thường được dùng để quản lý xác thực phân cấp, chính
sách chứng chỉ, thông tin về chứng chỉ bị thu hồi … Nó cũng có thể được sử dụng
để định nghĩa phần mở rộng riêng chứa những thông tin đặc trưng cho cộng đồng
nhất định. Mỗi trường mở rộng trong chứng chỉ được thiết kế với cờ
“critical” hoặc “uncritical” (phê bình, đánh giá)
Authority Key Identifier (nhận dạng quyền hạn của khóa)
Subject Key Identifier(nhận dạng đối tượng khóa)
Key Usage (cách sử dụng khóa)
Extended Key Usage(mở rộng của việc sử dụng khóa)
CRL Distribution Point (điểm sắp xếp vị trí của CRL)
Private Key Usage Period (thời gian, thời kỳ về việc sử dụng khóa chính)
Alternative (có thể thay thế cho 1 vật khác, khác) 14
III. CÁC THỦ TỤC XÁC THỰC TRONG X.509
(AUTHENTICATION PROCEDURES)
● X.509 bao gồm ba thủ tục xác thực tùy chọn:
▪ Xác thực một chiều. ▪ Xác thực hai chiều. ▪ Xác thực ba chiều.
● Mọi thủ tục trên đều sử dụng các chữ ký khoá công khai.
X.509 cũng bao gồm ba quy trình xác thực thay thế được dự định sử dụng trên
nhiều ứng dụng khác nhau, được sử dụng khi lấy và sử dụng chứng chỉ. 1 chiều
cho các tin nhắn một chiều (như email), 2 chiều cho các phiên tương tác khi sử
dụng dấu thời gian, 3 chiều cho các phiên tương tác không cần dấu thời gian (và
do đó đồng hồ được đồng bộ hóa)
3.1. Xác thực một chiều trong X.509
Là 1 giao thức xác thực, sử dụng 1 tin nhắn đơn để gửi giữa 2 máy. Phương
thức này đại điện cho việc xác thực đơn giản, nó đòi hỏi chỉ có 1 tin nhắn được
gửi giữa 2 người sử dụng, cho phép người thứ 2 có thể xác minh danh tính của
người gửi, xác minh rằng mình là người nhận, và cuối cùng là xác minh thông
tin không bị thay đổi trên đường truyền.
Xác thực một chiều liên quan đến một lần chuyển thông tin từ một người
dùng (A) sang người khác (B) và thiết lập các chi tiết được hiển thị ở trên. Lưu
ý rằng chỉ có danh tính của thực thể khởi tạo được xác minh trong quy trình
này, không phải danh tính của thực thể phản hồi. 15
Tối thiểu, tin nhắn bao gồm timestamp, số không và danh tính của B và
được ký bằng khóa riêng của A lề. Thông báo cũng có thể bao gồm thông tin
cần truyền đạt, chẳng hạn như khóa phiên cho B.
Dấu thời gian (timestamp)
Timestamp là thời gian hiện tại mà một sự kiện được ghi lại bởi máy tính
Timestamp là 1 giá trị được biểu thị dưới dạng mi li giây, và nó là giá trị
thời gian được lấy tại thời điểm mà thao tác của mình trên máy tính xảy ra.
Một dấu thời gian là thời gian hiện tại của một sự kiện được ghi lại bởi một
máy tính. Thông qua các cơ chế như: Thời Network Protocol (NTP), một máy
tính duy trì chính xác hiện thời, kiểm định để phân số phút của một giây. Như
vậy độ chính xác làm cho nó có thể cho các máy tính nối mạng và các ứng dụng
giao tiếp hiệu quả. Cơ chế "một dấu thời gian được sử dụng cho nhiều mục đích
đồng bộ, chẳng hạn như gán một lệnh cho một chuỗi nhiều sự kiện giao dịch để
nếu không xảy ra các giao dịch có thể được voided. Một cách khác là một dấu
thời gian được sử dụng là để ghi lại thời gian trong quan hệ với một điểm bắt
đầu cụ thể. Trong điện thoại IP, ví dụ, Real-time Transport Protocol (RTP) gán
timestamps tuần tự để gói tiếng nói s để họ có thể đệm ed của người nhận,
reassembled, và giao hàng mà không có lỗi. Khi viết một chương trình, lập trình
thường là cung cấp một giao diện chương trình ứng dụng cho một dấu thời gian
mà hệ điều hành có thể cung cấp trong quá trình thực hiện chương trình.
Chỉ có một phía được xác thực, phía bên kia mặc nhiên được tin tưởng.
Client xác thực với server mà không cần ngược lại. 16
3.2. Xác thực hai chiều trong X.509
Là phương thức mở rộng của phương thức 1 chiều, phương pháp này có thêm
1 tin nhắn từ người nhận trả về người gửi. Thông tin này cho người gửi biết rằng
người sử dụng thứ 2 là chủ sở hữu của khóa public được sử dụng để mã hóa thông
báo ban đầu. Người nhận cũng biết được rằng tin nhắn này là người A gửi cho
anh ta vì nó có thể xác minh được bằng cách sử dụng khóa riêng của người gửi.
Do đó, xác thực hai chiều cho phép cả hai bên trong một giao tiếp xác minh
danh tính của bên kia, do đó cũng thiết lập các chi tiết trên. Tin nhắn trả lời bao
gồm số không từ A, để xác nhận trả lời. Nó cũng bao gồm dấu thời gian và nonce
do B tạo ra và thông tin bổ sung có thể có cho A.
Hai mẩu tin A->B và B->A được thiết lập, ngoài mẩu tin từ A đến B như trên còn có:
- Danh tính của B và trả lời từ B
- Trả lời này dành cho A
- Tính toàn vẹn và gốc gác của trả lời
Trả lời bao gồm cả ký hiệu đặc trưng của mẫu tin (nonce) từ A, cả nhãn thời gian
và ký hiệu đặc trưng trả lời từ B. Có thể gồm một số thông tin bổ sung cho A.
trả lời cho phép người sử dụng đầu tiên để xác minh rằng người sử dụng thứ hai
là chủ sở hữu của khóa public được sử dụng để mã hóa thông báo ban đầu. người
sử dụng thứ hai cũng biết tin nhắn được dự định cho anh ta vì nó có thể được xác
minh bằng cách sử dụng khóa riêng của người sử dụng đầu tiên 17
3.3. Xác thực ba chiều trong X.509
Khi bạn không đảm bảo được rằng đồng hồ đồng bộ của các máy chủ được đồng
bộ hóa, bạn sử dụng phương thức 3 chiều này, trong phương pháp này, một tin nhắn
trả lời thứ 2 chứa 1 timestamps từ người người gửi được thêm vào để trao đổi. Tin
nhắn này được gửi đi để xác minh 2 tin timestamps tin nhắn khác là hợp lệ. \
Bằng tin nhắn trở lại này với timestamps cuối cùng, người nhận có thể xác minh
được rằng tất cả các tin nhắn khi gửi là hợp lệ và an toàn vì timestamp là các logic
thời gian. Nếu timestamps này không đứng như logic thì người dùng có thể nghi ngờ
vấn đề trên đường truyền.
Xác thực ba chiều bao gồm một thông báo cuối cùng từ A đến B, trong đó có một
bản sao có chữ ký của nonce, do đó không cần kiểm tra dấu thời gian, để sử dụng
khi đồng hồ không được đồng bộ hóa.
IV. HỆ THỐNG CẤP CHỨNG CHỈ (CERTIFICATE AUTHORITY SYSTEM
Có một số mô hình tin cậy có thể áp dụng hoặc sử dụng trong hệ thống mã
khoá công khai - PKI dựa trên X.509:
- Single CA Model (mô hình CA đơn) 18
Trong mật mã, cơ quan cấp chứng chỉ hoặc cơ quan cấp chứng chỉ (CA) là
một thực thể cấp chứng chỉ số. Chứng chỉ số xác nhận quyền sở hữu khóa công
khai của chủ thể có tên của chứng chỉ. Điều này cho phép những người khác (các
bên phụ thuộc) dựa vào chữ ký hoặc các xác nhận được đưa ra về khóa riêng tương
ứng với khóa công khai được chứng nhận. CA hoạt động như một bên thứ ba đáng
tin cậy — được cả chủ thể (chủ sở hữu) của chứng chỉ và bên dựa vào chứng chỉ
tin cậy. Định dạng của các chứng chỉ này được chỉ định bởi tiêu chuẩn X.509 hoặc EMV.
Một cách sử dụng đặc biệt phổ biến đối với tổ chức phát hành chứng chỉ là
ký các chứng chỉ được sử dụng trong HTTPS, giao thức duyệt web an toàn cho
World Wide Web. Một cách sử dụng phổ biến khác là trong việc phát hành chứng
minh thư của các chính phủ quốc gia để sử dụng trong các văn bản ký điện tử
- Hierarchical Model (Mô hình phân cấp ) 19
Mô hình phân cấp là mô hình trong đó các cấp thấp hơn được sắp xếp theo hệ
thống phân cấp của các đơn vị cấp cao hơn kế tiếp nhau. Dữ liệu được nhóm thành
các cụm ở một hoặc nhiều cấp, và ảnh hưởng của các cụm đối với các điểm dữ liệu
chứa trong chúng được tính đến trong bất kỳ phân tích thống kê nào.
- Web Model (Trust Lists) (Mô hình web) 20