Tải bản đầy đủ (.doc) (95 trang)

Tìm hiểu và ứng dụng của CA trên môi trường windows server 2008

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.68 MB, 95 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN

-----------o0o-----------

ĐỒ ÁN TỐT NGHIỆP
TÌM HIỂU VÀ ỨNG DỤNG CỦA CA TRÊN MÔI
TRƯỜNG WINDOWS SERVER 2008.

Sinh Viên Thực Hiện:

Giáo Viên Hướng Dẫn:
TS. ĐẶNG TRƯỜNG SƠN

THÀNH PHỐ HỒ CHÍ MINH
1


Lời cảm ơn

Lời đầu tiên chúng em xin tỏ lòng biết ơn sâu sắc đến Thầy Đặng Trường
Sơn, người thầy đã cho chúng em những định hướng và những ý kiến rất quý báu về
đề tài này. Cảm ơn Thầy đã chỉ dạy và hướng dẫn chúng em rất tận tình từ lúc lựa
chọn đề tài cũng như trong quá trình thực hiện đồ án.
Chúng em cũng xin gửi lời cảm ơn đến Khoa CNTT trường Đại Học Kỹ
Thuật Công Nghệ TP HCM đã tạo điều kiện cho chúng em thực hiện đồ án tốt
nghiệp này. Cảm ơn các Thầy, Cô trong khoa đã tận tâm giảng dạy, cho chúng em
những kiến thức thật hữu ích trong những năm qua.
Chúng em xin cảm Thầy Cô, bạn bè cùng khoá đã dìu dắt, giúp đỡ chúng em
tiến bộ trong suốt những năm học qua. Xin cảm ơn gia đình và bè bạn, những


người luôn bên cạnh, khuyến khích và giúp đỡ chúng em trong mọi hoàn cảnh khó
khăn.
Được hoàn thành trong thời gian rất hạn hẹp, đồ án này chắc chắn còn
nhiều khiếm khuyết, kính mong quý Thầy Cô và các bạn tận tình chỉ bảo. Chúng em
xin cảm ơn những thầy cô, bạn bè và người thân đã và sẽ có những góp ý chân tình
cho nội dung của đồ án này, để chúng em có thể tiếp tục đi sâu tìm hiểu và ứng
dụng trong thực tiễn công tác.
Một lần nữa chúng em xin chân thành cảm ơn các Thầy đã dìu dắt và hướng
dẫn tận tình trong thời gian qua. Xin kính chúc các Thầy dồi dào sức khỏe và thành
công trong cuộc sống.
Nhóm sinh viên thực hiện.

2


LỜI NÓI ĐẦU


Tình trạng an toàn mạng tại Việt Nam ngày một nghiêm trọng, không phải vì
trình độ của những tin tặc hackers quá cao khó đối phó, nhưng những lý do khách
quan khác nhau đã làm cho giới IT bị khó khăn khi cần bảo vệ an toàn thông tin.
Theo báo cáo mới nhất của Ban Cơ Yếu Chính Phủ, gần 60% các website của
những cơ quan nhà nước, các cơ quan kinh doanh trên mạng, hay các tổ chức tín
dụng bị hacker thâm nhập và tấn công nhằm tìm những thông tin có lợi cho chúng.
Tình trạng hacker thì nước nào cũng có, thậm chí nước càng phát triển cao
thì hacker càng nhiều và càng tỏ ra có tay nghề hết sức khó đối phó. Việt Nam đang
là nước có tình trạng tin tặc lộng hành khá phổ biến tuy lãnh vực internet của Việt
Nam chưa được xem là cao nhất trong khu vực. Nhiều website của Việt Nam đang
hoạt động trên mạng toàn cầu có tính chất thông tin là chủ yếu chứ chưa đạt tới mức
mua bán, trao đổi trực tuyến như đa số các nước khác.

Việc này gây lo ngại không những cho chính phủ mà những doanh nghiệp tư
nhân cũng bất an không kém, đặc biệt là những doanh nghiệp đang chuẩn bị việc
mua bán trên mạng. Viễn cảnh thiếu an toàn đã khiến không ít cơ sở ngưng triển
khai việc tạo những trang nhà phục vụ yêu cầu kinh doanh trao đổi hay mua bán
trực tuyến. Việc này cũng trực tiếp gây trở ngại cho tăng trưởng kinh tế trong thời
đại hội nhập toàn cầu hiện nay.
Ngày nay, việc giao tiếp qua mạng Internet đang trở thành một nhu cầu cấp
thiết. Các thông tin truyền trên mạng đều rất quan trọng, như mã số tài khoản, thông
tin mật... Tuy nhiên, với các thủ đoạn tinh vi, nguy cơ bị ăn cắp thông tin qua mạng
cũng ngày càng gia tăng. Hiện giao tiếp qua Internet chủ yếu sử dụng giao thức
TCP/IP. Đây là giao thức cho phép các thông tin được gửi từ máy tính này tới máy
tính khác thông qua một loạt các máy trung gian hoặc các mạng riêng biệt. Chính
3


điều này đã tạo cơ hội cho những ''kẻ trộm''công nghệ cao có thể thực hiện các hành
động phi pháp. Các thông tin truyền trên mạng đều có thể bị nghe trộm
(Eavesdropping), giả mạo (Tampering), mạo danh (Impersonation) .v.v. Các biện
pháp bảo mật hiện nay, chẳng hạn như dùng mật khẩu, đều không đảm bảo vì có thể
bị nghe trộm hoặc bị dò ra nhanh chóng.
Do vậy, để bảo mật, các thông tin truyền trên Internet ngày nay đều có xu
hướng được mã hoá. Trước khi truyền qua mạng Internet, người gửi mã hoá thông
tin, trong quá trình truyền, dù có ''chặn'' được các thông tin này, kẻ trộm cũng không
thể đọc được vì bị mã hoá. Khi tới đích, người nhận sẽ sử dụng một công cụ đặc
biệt để giải mã. Phương pháp mã hoá và bảo mật phổ biến nhất đang được thế giới
áp dụng là chứng chỉ số (Digital Certificate). Với chứng chỉ số, người sử dụng có
thể mã hoá thông tin một cách hiệu quả, chống giả mạo (cho phép người nhận kiểm
tra thông tin có bị thay đổi không), xác thực danh tính của người gửi. Ngoài ra
chứng chỉ số còn là bằng chứng giúp chống chối cãi nguồn gốc, ngăn chặn người
gửi chối cãi nguồn gốc tài liệu mình đã gửi.

Ngày nay, một giải pháp an ninh toàn diện cạnh tranh với PKI thực sự chưa
được tìm thấy. Từ góc độ giải pháp công nghệ, điều này làm cho việc chọn lựa trở
nên đơn giản hơn. Nhiều hãng khác cũng cung cấp các giải pháp PKI, song nếu bạn
đã từng đầu tư cho các công nghệ của Microsoft trong doanh nghiệp của mình, bạn
có thể sẽ tận dụng được những lợi thế mà tập đoàn khổng lồ này đã có được.
PKI cho phép bạn tạo ra một quan hệ tin cậy giữa các chứng thực của các tổ
chức khác nhau và giải pháp PKI của Windows Server 2008 cũng bao gồm tính
năng này. Nó giúp bạn bắt đầu với một phạm vi quan hệ tin cậy không lớn và cho
phép bạn mở rộng phạm vi này trong tương lai. PKI là công nghệ xác thực đầu tiên
và hoàn thiện nhất sử dụng phương pháp mã hoá dựa trên khoá bí mật và khoá công
cộng. Tuy nhiên, PKI cũng bao gồm cả việc ứng dụng rộng rãi các dịch vụ bảo mật
khác, bao gồm dịch vụ dữ liệu tin cậy, thống nhất dữ liệu về tổng thể và quản lý mã
khoá.

4


Đồ án “Tìm hiểu và ứng dụng của CA trên môi trường Windows Server
2008” giới thiệu những kiến thức tổng quát về hệ thống cung cấp dịch vụ chứng chỉ
số CA, hạ tầng khóa công khai PKI, chứng chỉ số và các thành phần quan trọng
khác để xây dựng hệ thống mã hóa, cung cấp chứng chỉ số, bảo đảm thông tin trao
đổi trên mạng.

5


Mục lục
Lời cảm ơn...............................................................................................
Lời nói đầu...............................................................................................
Danh mục các từ viết tắt.........................................................................

Danh mục các hình..................................................................................
Mục lục....................................................................................................
Chương 1: Tổng quan.............................................................................
1.1 Đặt vấn đề..............................................................................................
1.2 Tình hình sử dụng dịch vụ chứng chỉ số...............................................
1.2.1 Ở Việt Nam.............................................................................
1.2.2 Tình hình ở một số nước khác................................................
1.2.3 Nhiệm vụ đồ án.......................................................................
Chương 2: Chứng chỉ số và hạ tầng cơ sở khóa công khai..................
2.1 Chứng chỉ số..........................................................................................
2.2 Định dạng X.509...................................................................................
2.2.1 Định dạng X.509 version 1.....................................................
2.2.2 Định dạng X.509 version 2.....................................................
2.2.3 Định dạng X.509 version 3.....................................................
2.3 Các loại chứng chỉ số............................................................................
2.3.1 Chứng chỉ số CA.....................................................................
2.3.2 Chứng chỉ số thực thể cuối.....................................................
2.3.3 Lợi ích của chứng chỉ số.........................................................
2.3.4 Ứng dụng của chứng chỉ số....................................................
2.4 Tổng quan về hạ tầng khóa công khai – PKI........................................
2.4.1 Giới thiệu.................................................................................
2.4.2 Các thành phần cơ bản của PKI..............................................
2.4.3 Chức năng của PKI.................................................................
2.4.4 Các mô hình tin cậy của PKI..................................................
Kết chương ............................................................................................
6


Chương 3: CA trên Windows Server 2008............................................
3.1 Các loại CA...........................................................................................

3.1.1 Root và Subordinate CA.........................................................
3.1.2 Enterprise CA và Stand-alone CA..........................................
3.1.2.1 Enterprise CA............................................................
3.1.2.2 Standalone CA..........................................................
3.2 Quá trình cài đặt một CA......................................................................
3.2.1 Cài đặt Root CA......................................................................
3.2.2 Cài đặt Subordinate CA..........................................................
3.3 Cấp phát và quản lý chứng chỉ số.........................................................
3.3.1 Cấp phát tự động.....................................................................
3.3.2 Cấp phát không tự động..........................................................
3.4 Chứng chỉ số mẫu ..............................................................................
3.4.1 Chứng chỉ số mẫu version 1....................................................
3.4.2 Chứng chỉ số mẫu version 2....................................................
3.4.3 Chứng chỉ số mẫu version 3....................................................
3.4.4 Các mẫu chứng chỉ mặc định trong Windows Server 2008...
3.5 Yêu cầu chứng chỉ số............................................................................
3.5.1 Sử dụng Certificate Request Wizard......................................
3.5.2 Sử dụng Web Enrollment........................................................
Kết chương..............................................................................................
Chương 4: Kết quả thực nghiệm.................................................................
4.1 Mô hình demo và các bước chuẩn bị....................................................

7


CHƯƠNG 1: TỔNG QUAN
1.1 Đặt vấn đề:
Muốn bảo vệ dữ liệu mà chỉ dựa vào việc mã hoá dữ liệu là rất nguy hiểm.
Ngày có nhiều tin tặc có thể đọc trộm dữ liệu, tráo đổi dữ liệu và mạo danh để xâm
nhập một cách táo tợn và thiện nghệ.

Cho tới nay việc mật mã hóa dữ liệu là một phương pháp đủ mạnh để bảo vệ
những dữ liệu quan trọng hoặc riêng tư không bị xâm phạm bởi sự soi mói tọc mạch
hay dụng tâm có ác ý. Tuy nhiên, các phương tiện truyền thông thế giới tường thuật
khá nhiều về khả năng để rò rỉ dữ liệu cá nhân của khách hàng như mã số bảo hiểm
xã hội, thông tin thẻ tín dụng …
Để đáp ứng những tiêu chuẩn nghiêm ngặt vốn đòi hỏi dữ liệu phải được lưu
trữ và bảo vệ trong suốt thời gian nào đó, các công ty phải tuyên chiến với nạn đánh
cắp, tráo đổi dữ liệu bằng một biện pháp gồm nhiều tầng lớp mà mức thấp nhất là
mật mã hóa và mức cao nhất là tích hợp nhiều chữ ký điện tử, chứng thực điện tử và
quản lý khóa theo trật tự cấp bậc (hierachical key).
Việc kết nối qua mạng Internet hiện nay chủ yếu sử dụng giao thức TCP/IP.
TCP/IP cho phép các thông tin được gửi từ một máy tính này tới một máy tính khác
thông qua một loạt các máy trung gian hoặc các mạng riêng biệt trước khi nó có thể
đi tới được đích. Tuy nhiên, chính vì tính linh hoạt này của giao thức TCP/IP đã tạo
cơ hội cho “bên thứ ba” có thể thực hiện các hành động bất hợp pháp, cụ thể là:
- Nghe trộm (Eavesdropping): Thông tin vẫn không hề bị thay đổi, nhưng sự
bí mật của nó thì không còn. Ví dụ, một ai đó có thể biết được số thẻ tín dụng, các
thông tin cần bảo mật của bạn.
- Giả mạo (Tampering): Các thông tin trong khi truyền đi bị thay đổi hoặc
thay thế trước khi đến người nhận. Ví dụ, một ai đó có thể sửa đổi một đơn đặt hàng
hoặc thay đổi lý lịch của một cá nhân.
- Mạo danh (Impersonation): Thông tin được gửi tới một cá nhân mạo nhận
là người nhận hợp pháp. Có hai hình thức mạo danh sau:
8


+ Bắt chước (Spoofing): Một cá nhân có thể giả vờ như một người khác. Ví
dụ, dùng địa chỉ mail của một người khác hoặc giả mạo một tên miền của một
trang web.
+ Xuyên tạc (Misrepresentation): Một cá nhân hay một tổ chức có thể đưa ra

những thông tin không đúng sự thật về họ. Ví dụ, có một trang web mạo nhận
chuyên về kinh doanh trang thiết bị nội thất, nhưng thực tế nó là một trang
chuyên ăn cắp mã thẻ tín dụng và không bao giờ gửi hàng cho khách.
Nhiều sản phẩm thực hiện lưu trữ thường hay truyền và lưu dữ liệu ở dạng
đơn giản hoặc thông qua một giải thuật mật mã hóa đơn sơ. Trong khi nhiều kỹ
thuật tinh xảo được dùng để đảm bảo dữ liệu lưu ở phương tiện bộ nhớ ban đầu
không thể truy cập bởi người không có thẩm quyền thì dữ liệu lưu ở phương tiện
backup lại để cho những người không có thẩm quyền truy cập và khôi phục một
cách thoải mái.
Mật mã hóa là một cách làm tốt nhưng lợi ích của nó còn hạn chế. Đó là lý
do tại sao sự an toàn trong dữ liệu cần phải tích hợp các chữ ký điện tử, các chứng
thực điện tử và phương pháp quản lý khóa theo trật tự cấp bậc.
Áp dụng chứng chỉ số cho chứng thực điện tử là giải pháp hữu hiệu nhất để
bảo đảm an toàn thông tin, là cơ sở cho người gửi, nhận và cung cấp dữ liệu, thông
tin qua mạng, ký kết các hợp đồng, thanh toán điện tử, hóa đơn, chứng từ điện tử …
Cùng với sự phát triển của các ứng dụng trên mạng đặc biệt các ứng dụng
như Chính phủ điện tử, thương mại điện tử thì chứng thực điện tử trở thành một yếu
tố không thể thiếu được. Việc ra đời của chứng thực điện tử không những đáp ứng
được các nhu cầu hiện nay của xã hội mà còn có tác dụng rất to lớn trong việc phát
triển các ứng dụng trên mạng. Chứng thực điện tử là hoạt động chứng thực danh
tính của những người tham gia vào việc gửi và nhận thông tin qua mạng, đồng thời
cung cấp cho họ những công cụ, những dịch vụ cần thiết để thực hiện việc bảo mật
thông tin, chứng thực nguồn gốc và nội dung thông tin. Hạ tầng công nghệ của
chứng thực điện tử là cơ sở hạ tầng khóa công khai ( PKI – Public Key
Infrastructure) với nền tảng là mật mã khóa công khai và chữ ký số.

9


Người sử dụng chứng thực điện tử sẽ các cơ quan cung cấp dịch vụ chứng

thực điện tử (CA – Certification Authority) cung cấp cho chứng chỉ số và phải được
gán một cặp khóa mã ( khóa bí mật và khóa công khai ) để có thể tham gia sử dụng
chứng thực điện tử trong các ứng dụng mà mình tham gia.
Chứng thực điện tử có các chức năng chính sau:
-

Tính xác thực: Đảm bảo xác định được thực thể hợp pháp.

-

Tính bảo mật: Mã hóa thông tin gửi đi trên mạng, đảm bảo bí mật thông tin.

-

Tính toàn vẹn dữ liệu: Xác định thông tin nhận được có đúng như thông tin
được gửi đi không hay đã bị thay đổi.

-

Tính không thể chối bỏ: Chứng thực điện tử đảm bảo cho người sử dụng
không thể chối bỏ các dữ liệu mà mình đã gửi.

Chính vì có những tính năng như vậy nên chứng thực điện tử được sử dụng trong
khá nhiều các ứng dụng như:
-

Ký vào tài liệu điện tử.

-


Thư điện tử bảo đảm.

-

Thương mại điện tử.

-

Bảo vệ mạng WLAN (Wireless Local Area Network ).

-

Bảo đảm an toàn cho các dịch vụ Web.

-

Mạng riêng ảo VPN …

1.2 Tình hình sử dụng dịch vụ chứng chỉ số :
1.2.1 Ở Việt Nam:
Chứng chỉ số, trong phạm vi của dự thảo Tiêu chuẩn quốc gia, là tập tin
mang thông tin về khoá công khai của một cá nhân, tổ chức hay thiết bị, ứng dụng
muốn truy nhập vào hệ thống. Chứng chỉ số được dùng trong các dịch vụ chứng
thực sử dụng chữ ký số trên nền tảng cơ sở hạ tầng khoá công khai qua Internet.
Tiêu chuẩn ITU-T X.509 được sử dụng rộng rãi nhất hiện nay dựa trên hạ
tầng khóa công khai PKI.

10



Tại Việt Nam, hiện chưa có tiêu chuẩn nào về khuôn dạng chứng chỉ số, nên
các tổ chức cung cấp chứng chỉ số vẫn dựa theo mẫu khuôn dạng của các tổ chức
phát hành chứng chỉ số lớn trên thế giới (như Verisign).
Dự thảo tiêu chuẩn về chứng chỉ số được xây dựng nhằm mục đích đưa ra
một tiêu chuẩn chung về khuôn dạng các chứng chỉ số, áp dụng phù hợp với điều
kiện thực tế trong nước, có khả năng tương thích với khu vực và thế giới. Tiêu
chuẩn sẽ được khuyến khích áp dụng trong phạm vi toàn quốc, góp phần thúc đẩy
triển khai các dịch vụ chứng thực chữ ký số và trao đổi dữ liệu điện tử an toàn tại
Việt Nam.
Trong bối cảnh mạng Internet phát triển mạnh mẽ, các nhà cung cấp dịch vụ
viễn thông trong nước đang nỗ lực phát triển các dịch vụ thương mại điện tử nhằm
tạo ưu thế cạnh tranh.
Trước nhu cầu sử dụng chứng thực điện tử ngày càng tăng cao, trong thời
gian qua tại Việt Nam đã có một số đơn vị cung cấp và thử nghiệm dịch vụ chứng
thực điện tử như công ty VASC, công ty VDC, Trung tâm tin học - Bộ Khoa học và
Công nghệ, Ban Cơ yếu Chính phủ, một số ngân hàng...
Ngoài ra còn một số đơn vị cũng thử nghiệm xây dựng các tổ chức cung cấp
chứng chỉ số CA (Certificate Authority) nội bộ. Các nhà cung cấp chứng chỉ số này
hầu hết là các CA riêng rẽ, nghĩa là tự cấp chứng chỉ cho mình, chỉ có CA của VDC
là đại lý cho CA của công ty VeriSign. Ngoài ra trong các nhà cung cấp chứng chỉ
số CA đã nêu chỉ có CA của VASC và CA của VDC là cung cấp dịch vụ chứng
thực cho cộng đồng. Các ứng dụng sử dụng chứng thực điện tử ở Việt Nam chủ yếu
là ký vào dữ liệu điện tử, thư điện tử bảo đảm, xác thực quyền truy nhập, thanh toán
điện tử…
Ở Việt Nam, đã có hành lang pháp lý về giao dịch điện tử là các đạo luật như
Luật Giao dịch Điện tử, Nghị định số 26/2007/NĐ-CP quy định chi tiết thi hành
Luật giao dịch điện tử về chữ kỹ số và chứng thực điện tử; Nghị định số
27/2007/NĐ-CP về giao dịch điện tử trong hoạt động tài chính...

11



Hiện tại, chúng ta đã và đang xây dựng bốn văn bản pháp lý liên quan đến
hoạt động chứng thực điện tử, đó là :
-

Pháp lệnh thương mại điện tử do Bộ Thương mại chủ trì.

-

Luật Giao dịch điện tử do Uỷ ban Khoa học Công nghệ và Môi trường của
Quốc hội chủ trì.

-

Nghị định của Chính phủ về quản lý, cung cấp và sử dụng dịch vụ chứng
thực điện tử do Bộ Bưu chính, Viễn thông chủ trì.

-

Nghị định của Chính phủ quy định việc nghiên cứu, sản xuất và sử dụng mật
mã không thuộc phạm vi bí mật nhà nước do Ban Cơ yếu Chính phủ chủ trì.

Ngoài ra còn phải kể đến Luật Công nghệ thông tin do Bộ Bưu chính, Viễn thông
chủ trì soạn thảo.
Ba trong bốn văn bản pháp lý đã nêu ở trên dù ít hay nhiều trong bản dự thảo
đều có đề cập đến tính pháp lý của chữ ký số cũng như quy định một số điều liên
quan đến việc quản lý, cung cấp, sử dụng dịch vụ chứng thực điện tử. Văn bản còn
lại liên quan đến việc sử dụng mật mã trong chứng thực điện tử.
Vấn đề đặt ra là sự phối hợp giữa các đơn vị xây dựng các văn bản pháp lý

này như thế nào để tránh được sự chồng chéo về nội dung chứng thực điện tử trong
các văn bản này.
Cùng với việc phát triển của các ứng dụng trên mạng, chứng thực điện tử
ngày càng đóng vai trò quan trọng. Chứng thực điện tử ra đời không những đáp ứng
nhu cầu sử dụng của xã hội mà còn có tác động quan trọng trong việc thúc đẩy các
ứng dụng trên mạng. Chính vì vậy việc triển khai cung cấp dịch vụ chứng thực điện
tử tại nước ta là rất cần thiết. Tuy nhiên không phải vì thế mà chúng ta đẩy nhanh
việc triển khai cung cấp dịch vụ chứng thực điện tử một cách vội vã. Với lợi thế là
nước triển khai sau, chúng ta cần tham khảo kinh nghiệm của các nước đi trước,
cũng như cần có những bước chuẩn bị hợp lý để khi ra đời chứng thực điện tử phát
huy được hết tác dụng của nó và đóng góp mạnh mẽ trong việc phát triển kinh tế xã
hội nước nhà nói chung cũng như đẩy mạnh các ứng dụng trên mạng nói riêng. Hy
vọng với những nỗ lực của các cơ quan hữu quan và toàn thể cộng đồng xã hội
những điều mong mỏi đó sớm trở thành hiện thực.
12


1.2.2 Tình hình ở một số nước khác:
Rất nhiều quốc gia trên thế giới đã cung cấp dịch vụ chứng thực điện tử. Một
số CA nổi tiếng trên thế giới có thể kể đến như CA của các công ty VeriSign,
WISeKey, eTrust... hiện đã phổ biến và có chi nhánh tại rất nhiều nước trên thế
giới.
So với các nước và lãnh thổ trong khu vực, Việt Nam đi khá chậm trong xây
dựng dựng cơ sở pháp lý về giao dịch điện tử. Malaysia đã ban hành Luật Chữ ký
Số vào năm 1997, Singapore ban hành Luật Giao dịch điện tử vào năm 1998, Hong
Kong có Sắc lệnh về Giao dịch điện tử vào năm 2000. Hàn Quốc có Luật Chữ ký
điện tử vào năm 1999 và sửa đổi vào năm 2001. Thái Lan và Nhật Bản cũng đã có
các văn bản luật liên quan đến giao dịch điện tử vào năm 2001
Để hỗ trợ phát triển dịch vụ chứng thực điện tử, nhiều nước đã ban hành các
văn bản pháp lý về hoạt động chứng thực điện tử, cấp phép cho các CA và tổ chức

hệ thống CA. Về cấu trúc hệ thống cung cấp dịch vụ chứng thực điện tử, có nước tổ
chức theo sơ đồ hình cây trong đó mức cao nhất là root CA quốc gia, mức dưới là
các CA cấp dưới. Bên cạnh đó cũng có quốc gia không thành lập root CA mà tổ
chức các CA theo dạng mắt lưới hoặc riêng rẽ.
Chứng thực điện tử được sử dụng trong khá nhiều ứng dụng, theo số liệu
điều tra công bố vào tháng 8/2003 của tổ chức OASIS (Organization for the
Advancement of Structured Information Standards) thì 24,1% sử dụng trong việc ký
vào các dữ liệu điện tử, 16,3% sử dụng để bảo đảm cho Email, 13,2% dùng trong
thương mại điện tử, 9,1% sử dụng để bảo vệ WLAN, 8% sử dụng bảo đảm an toàn
cho các dịch vụ Web, 6% sử dụng bảo đảm an toàn cho Web Server, 6% sử dụng
trong các mạng riêng ảo (VPN) …
Tuy chứng thực điện tử phát triển khá nhanh và được sử dụng khá hiệu quả
trong rất nhiều ứng dụng như vậy nhưng không phải không có những yếu tố cản trở
sự phát triển của nó. Ở đây có thể nêu lên một số yếu tố chính cản trở sự phát triển
của chứng thực điện tử, đó là :
-

Còn ít phần mềm ứng dụng hỗ trợ sử dụng chứng thực điện tử.
13


-

Giá thành hệ thống CA cũng như phí cung cấp dịch vụ cao.

-

Thiếu hiểu biết về PKI.

-


Có quá nhiều công nghệ được sử dụng.

-

Khó sử dụng đối với người dùng.

-

Khả năng kết hợp làm việc giữa các hệ thống chưa tốt.

-

Thiếu việc hỗ trợ quản lý.

Tóm lại việc phát triển chứng thực điện tử là một xu hướng tất yếu trên thế
giới nhưng trong quá trình phát triển cũng gặp những rào cản nhất định. Các nước
hầu hết đã triển khai cung cấp dịch vụ chứng thực điện tử đặc biệt là những nước có
các ứng dụng trên mạng phát triển.
1.3 Nhiệm vụ đồ án:
Mục tiêu của đề tài “Tìm hiểu và cài đặt CA trên môi trường Windows
Server 2008” là tìm hiểu kỹ về hệ thống quản lý cung cấp dịch vụ chứng chỉ số CA,
các định dạng của CA, hạ tầng PKI, tìm hiểu về cách tổ chức hoạt động, qui trình
cấu hình và cài đặt CA … Xây dựng mô hình đơn giản với ứng dụng mã hóa web
trên môi trường Windows Server 2008.

14


CHƯƠNG 2:

CHỨNG CHỈ SỐ VÀ CƠ SỞ HẠ TẦNG
KHÓA CÔNG KHAI
Chúng ta biết rằng ta có thể “ký tên” hoặc “xác nhận là đúng” cho một cuộc
truyền tin qua mạng, để mặc thông tin được truyền đó ở dạng văn bản đơn sơ nhưng
cho phép người nhận thẩm tra rằng người gửi thông điệp là xác đáng và thông điệp
ấy đã không bị sửa đổi dọc đường. Và chúng ta có thể dùng các khóa công khai và
riêng tư để trao đổi các khóa phiên giao dịch, vốn có thể được dùng để mã hóa toàn
bộ một cuộc truyền tin, cả xác nhận nó là đúng lẫn đảm bảo rằng không ai “xen”
vào nó.
Nhưng cho đến nay, có một điều mà chúng ta phần nào đã lấp liếm đi để
tránh phiền phức: cách thức phát tán khóa công khai đó đi khắp nơi. Làm thế nào
trình e-mail client có thể tìm được khóa công khai của client khác ngay từ đầu để
dùng trong việc thẩm tra thông điệp của client khác đó? Khi ta nắm lấy khóa công
khai đó, làm thế nào ta biết được ta đang nhìn vào trang Web mà ta muốn truy cập,
và không phải đó là bản sao giả mạo tài tình mà một kẻ xấu nào đó đã tạo ra trong
khi làm trệch hướng những cuộc tra cứu DNS của ta về địa chỉ Website mà ta muốn
truy cập? Cho nên chúng ta cần một phương pháp khác để chuyển giao các khóa
công khai. Phương pháp đó là sử dụng các chứng chỉ số.
2.1 Chứng chỉ số:
Chứng chỉ số là nền móng của cơ sở hạ tầng khóa công khai. Chứng chỉ số
không phải là một chứng chỉ vật lý với một khung viền hấp dẫn; thay vì vậy, nó là
một mớ byte dữ liệu được kết hợp bởi cặp khóa công khai và riêng tư, đại diện cho
người dùng, máy tính, thiết bị mạng, hay các services được cấp phát bởi một nhà
cung cấp chứng chỉ số ( CA – Certification Authority ). Hay nói một cách đơn giản
hơn, nó là một khóa công khai và một số thông tin nhận diện về thực thể mà chứng
chỉ đó chứng nhận. Dĩ nhiên là còn nữa chứ không phải chỉ có thế. Các chứng chỉ
số không phải là phát minh của Microsoft; chúng dựa trên các tiêu chuẩn được chấp
15



nhận rộng rãi và các nhà chế tạo khác hơn Microsoft đã là những người sử dụng
PKI trong nhiều năm trước khi Microsoft chú ý đến lĩnh vực này. Một tiêu chuẩn
mà ta thường nghe nói nhiều là X.509, một dạng thức chứng chỉ mà Microsoft đã
chấp nhận dùng cho các dịch vụ chứng chỉ của họ.
Một chứng chỉ số là một tập hợp các chữ ký số của thông tin có kích thước
khoảng 2 – 4 KB. Một chứng chỉ số thông thường bao gồm những thông tin sau:
 Thông tin về người dùng, máy tính hay thiết bị mạng nắm giữ khóa riêng tư
tương ứng với chứng số được cấp phát.
 Thông tin về CA cấp phát chứng chỉ.
 Khóa công khai của thực thể đó.
 Tên của các thuật toán mã hóa và/hay ký tên số hóa được hỗ trợ bởi chứng
chỉ số.
 Một danh sách của định dạng X.509 version 3.
 Thông tin về việc xác định tình trạng thu hồi và thời hạn có hiệu lực của
chứng chỉ.
 Những thông tin nhận diện khác, biến đổi tùy theo loại chứng chỉ.

Hình 2.1: Minh họa một chứng chỉ số
16


Để có được một chứng chỉ số đầu tiên chúng ta tạo ra một cặp khóa công
khai và riêng tư. Kế tiếp, chúng ta liên hệ với một công ty nào phát hành các chứng
chỉ số, tức một hãng có thẩm quyền cấp chứng chỉ ( CA). Ví dụ tiêu biểu về những
công ty như thế là VeriSign, Thawte, Baltimore. Chúng ta trao cho họ khóa công
khai của chúng ta và yêu cầu họ tạo ra một chứng chỉ số. ( Hoặc, chúng ta có thể tạo
ra một CA của riêng mình rồi bắt đầu tạo ra những chứng chỉ của chính mình).
Sau đó, CA ấy muốn bảo đảm rằng chúng ta thực sự là chúng ta, cho nên
thường thì họ muốn nhìn thấy thứ gì đó xác nhận tính hợp lệ của lời khẳng định của
chúng ta. Ví dụ, nếu như chúng ta muốn có một chứng chỉ dành cho

www.hutech.edu.vn thì ta phải chứng tỏ rằng mình thực sự sở hữu Website đó. Sau
khi CA được thuyết phục rằng chúng ta chính là chúng ta, thì họ sẽ xây dựng dữ
liệu cho chứng chỉ mà chúng ta yêu cầu, bao gồm tên và khóa công khai của chúng
ta, nhật kỳ hết hạn, CA phát hành chứng chỉ đó. Sau đó CA đưa chúng qua hàm
băm của nó và luật vựng (digest) dành cho chứng chỉ đó được xuất ra. Kế tiếp CA
sẽ lấy khóa riêng tư của nó ra để mã hóa digest đó. Kết hợp tất cả những dữ liệu đó
lại với nhau sẽ có được chứng chỉ cần thiết.
2.2 Định dạng X.509:
2.2.1 Định dạng X.509 Version 1:
Chứng chỉ định dạng X.509 là chứng chỉ sử dụng phổ biến nhất, được hiệp
hội viễn thông quốc tế ITU (International Telecommunications Union ) giới thiệu
vào năm 1988. Khuôn dạng chứng chỉ X.509 version 1 được trình bày trong hình
sau:

17


Version
Serial Number
V1

CA Signature Alg
Issuer Name

Signed by
the CA

Validity Period
Subject Name
Subject Public Key

Signature Value
X.509 Version 1
Certificate

Hình 2.2 Định dạng X.509 V1
Một chứng chỉ định dạng X.509 phiên bản 1 chứa những trường sau:
- Version: chứa một giá trị chỉ định rằng đây là chứng chỉ X.509 phiên
bản 1.
- Serial Number: cung cấp một yếu tố nhận diện có dạng một chuỗi số và
chuỗi số này là duy nhất đối với mỗi chứng chỉ được cấp bởi CA.
- CA Signature Algorithm: Tên của thuật toán mà CA sử dụng để ký vào
nội dung của một chứng chỉ số. Ví dụ như SHA1, RSA, DSA …
- Issuer Name: Tên của nhà cung cấp chứng chỉ.
- Validity Period: Khoảng thời gian mà chứng chỉ có hiệu lực. Trong một
vài trường hợp, trường Validity Period chia ra làm hai phần: Valid From và
Valid To.
- Subject Name: Tên của máy tính, người dùng, thiết bị mạng, hoặc tên
của dịch vụ được thể hiện trong chứng chỉ.
- Subject Public Key Info: thông tin về khóa công khai của người giữ
chứng chỉ. Khóa công khai được cung cấp đến CA trong việc yêu cầu
chứng chỉ và kèm trong chứng chỉ được cấp phát. Trường này cũng chứa
thông tin nhận dạng thuật toán khóa công khai, thuật toán khóa công khai
được sử dụng để tạo ra cặp khóa kết hợp với chứng chỉ.
- Signature Value: chứa giá trị của chữ ký, giá trị này là kết quả của thuật
toán về chữ ký của CA được sử dụng để ký vào chứng chỉ số.
18


2.2.2 Định dạng X.509 Version 2:
Định dạng X.509 version 1 cung cấp những thông tin cơ bản về người nắm

giữ chứng chỉ và một ít thông tin về nhà cấp phát chứng chỉ. Ngoài một số trường
như Issuer Name, CA Signature Algorithm và Signature Value…, định dạng X.509
version 1 không có bất cứ sự cung cấp nào sự đổi mới của CA.
Khi chứng chỉ của CA được cấp mới lại, thì hai chứng chỉ đó sẽ có cùng giá
trị ở trường Issuer Name. Như vậy, có khả năng một tổ chức khác tạo ra một CA
với tên nhà cấp phát giống nhau. Đây là nguyên nhân ra đời của phiên bản tiếp theo
– X.509 version 2. Phiên bản này được giới thiệu vào năm 1993, được bổ sung thêm
2 trưởng mới để nhận dạng tên nhà cấp phát.

Version
Serial Number
V2

CA Signature Alg
Issuer Name

Signed by
the CA

Validity Period
Subject Name
Subject Public Key
Issuer Unique ID
Subject Unique ID
Signature Value
X.509 Version 2 Certificate

Hình 2.3 Định dạng X.509 V2
Phiên bản này được giới thiệu thêm hai trường mới sau:
- Issuer Unique ID: Trường tùy chọn này chứa một yếu tố nhận dạng duy

nhất dành cho Issuing CA (sẽ được giới thiệu ở phần sau), giá trị này là một
chuỗi ở dạng thập lục. Khi một CA làm mới lại chứng chỉ của nó thì một
Issuer Unique ID mới được sinh ra với phiên bản của chứng chỉ đó.
19


- Subject Unique ID: Trường tùy chọn này cũng chứa một yếu tố nhận
dạng duy nhất dành cho subject của chứng chỉ được định nghĩa bởi Issuing
CA và cũng là một chuỗi dạng thập lục. Nếu subject là một CA thì giá trị
nhận dạng này được đặt trong trường Issuer Unique ID.
Những trường được bổ sung thêm cho phép phân biệt sự khác nhau giữa các
chứng chỉ của CA khi CA làm mới một chứng chỉ. Phương pháp này cũng cho
phép phân biệt giữa các CA có cùng Subject Name. ( Có khả năng những chứng chỉ
của CA có tên giống nhau sẽ gia tăng khi những cái tên đơn giản được sử dụng
nhiều – ví dụ như, CN=Root CA thì được sử dụng nhiều hơn là CN= Fabrikam
Industries Inc Coporate Root CA, O=Fabrikam, C=NL…).
Mặc dù được bổ sung thêm hai trường Issuer Unique ID và Subject Unique
ID nhưng vẫn có khả năng xuất hiện đụng độ. Đụng độ xuất hiện khi hai chứng chỉ
có cùng Subject Name và Subject Unique ID.
2.2.3 Định dạng X.509 Version 3:
Phát hành năm vào 1996, được bổ sung thêm các trường mở rộng, đây là
định dạng được sử dụng phổ biến nhất hiện nay và được hầu hết các nhà cung cấp
sản phẩm PKI triển khai. Một chứng chỉ X.509 v3 có thể chứa một hoặc nhiều
trường mở rộng, các trường này được trình bày như hình bên dưới:

20


X.509 V3 Standard Extensions
Type


Version

Authority Key Identify

No

Subject Key Identify

No

Key Usage

Should Be

Private Key Usage Period

No

Validity Period

Certificate Policies

No

Subject Name

Policy Mappings

No


Subject Public Key

Subject Alternative Name

See RFC3280

Issuer Unique ID

Issuer Alternative Name

SeeRFC3280

Subject Unique ID

Subject Dir Attribute

No

Extensions…

Basic Constraints

Yes

Signature Value

Name Constraints

Yes


Policy Constraints

Maybe

Extended Key Usage

Maybe

Application Policies

No

Authority Info Access

No

CRL Distribution Point

No

Serial Number
V3

Critical

CA Signature Alg
Issuer Name

X.509 Version 3

Certificate

Signed by
the CA

Hình 2.4 Định dạng X.509 V3
Mỗi phần mở rộng trong một chứng chỉ X.509 V3 gồm có 3 phần:
- Extension Identifier: là một yếu tố nhận dạng đối tượng (OID - Object
Identifier ), nó cho biết định dạng và những định nghĩa của phần mở rộng.
- Criticality Flag: việc chỉ dẫn những tín hiệu thông tin trong phần mở
rộng là rất quan trọng. Nếu một ứng dụng không thể nhận ra phần mở rộng
then chốt, hoặc phần mở rộng chứa giá trị “No”, thì chứng chỉ không thể
được chấp nhận hay không thể được sử dụng. Nếu cờ Criticality không
được thiết lập, thì một ứng dụng nào đó có thể sử dụng chứng chỉ ngay cả
khi ứng dụng đó không nhận ra phận mở rộng.
- Extension Value: là giá trị được gán cho phần mở rộng. Giá trị này thay
đổi tùy thuộc vào từng phần mở rộng riêng biệt.
Trong một chứng chỉ X.509 V3 có thể tồn tại các phần mở rộng sau:

21


- Authority Key Identify: phần mở rộng này có thể chứa một trong hai
giá trị và giá trị đó có thể là:
 Tên của CA và serial number của chứng chỉ CA hay còn gọi là chứng
chỉ tự ký (CA certificate) , được cấp phát cho chứng chỉ hiện hành.
 Phần mã hóa khóa công khai của chứng chỉ CA, được cấp cho chứng
chỉ hiện hành. (phần mã hóa khóa công khai này dựa vào thuật toán
Hash).
- Subject Key Identifier: chứa phần mã hóa khóa công khai của chứng

chỉ hiện hành.
- Key Usage: Mỗi một CA, người dùng, máy tính, thiết bị mạng hay các
dịch vụ có thể có nhiều hơn một chứng chỉ. Phần mở rộng này định nghĩa
các dịch vụ bảo mật cho các chứng chỉ có thể được sử dụng. Những tùy
chọn đó có thể được sử dụng kết hợp với nhau và có thể bao gồm những
phần sau:
 Digital Signature: khóa công khai có thể được dùng để kiểm tra chữ
ký. Khóa này cũng được dùng để chứng thực client và thẩm tra dữ
liệu ban đầu.
 Non – Repudiation: khóa công khai có thể được sử dụng để thẩm tra
ID của người ký, ngăn chặn việc người ký từ chối rằng họ đã ký vào
đối tượng nào đó.
 Key Encipherment: khóa công khai có thể được dùng cho việc vận
chuyển khóa cho các tiến trình như là quá trình trao đổi khóa đối
xứng. Giá trị của Key Usage này được sử dụng khi một khóa RSA
được dùng để quản lý khóa.
 Data Encipherment: khóa công khai có thể được dùng cho dữ liệu
mã hóa trực tiếp hơn là trao đổi một khóa đối xứng cho việc mã hóa
dữ liệu.
 Key Cert Sign: khóa công khai có thể được dùng để kiểm tra chữ ký
của chứng chỉ.
 CRL Sign: khóa công khai có thể dùng để kiểm tra chữ ký của CRL.
22


 …..
- Private Key Usage Period: định nghĩa khoảng thời gian có hiệu lực của
khóa bí mật. Phần mở rộng này có thể được thiết lập với một khoảng thời
gian ngắn hơn khoảng thời gian có hiệu lực của chứng chỉ. Điều này làm
cho khóa bí mật có khả năng ký vào các tài liệu trong khoảng thời gian

ngắn hơn ( ví dụ là một năm) , trong khi đó khóa công khai có thể được sử
dụng để xác nhận chữ ký cho toàn bộ các chứng chỉ trong khoảng thời gian
có hiệu lực là năm năm.
- Certificate Policies: mô tả những chính sách và thủ tục được sử dụng để
xác nhận thực thể của chứng chỉ trước khi chứng chỉ được cấp phát. Những
chính sách của chứng chỉ được miêu tả bởi OIDs (Object Identifier).
- Policy Mappings: trường này chỉ ra chính sách xác thực tương đương
giữa hai miền CA. Nó được sử dụng trong việc thiết lập xác thực chéo và
kiểm tra đường dẫn chứng chỉ. Trường này chỉ có trong chứng chỉ CA.
- Subject Alternative Name: cung cấp một danh sách những dạng tên lựa
chọn gắn với người sở hữu chứng chỉ. Những giá trị có thể là: User
Principal Name (UPN), địa chỉ e-mail, địa chỉ IP, hay Domain Name
System (DNS).
- Issuer Alternative Name: cung cấp một danh sách những dạng tên gắn
với nhà cung cấp chứng chỉ (Issuing CA), phần mở rộng này có thể chứa tên
e-mail được kết hợp với CA.
- Subject Directory Attribute: trường này chỉ ra dãy các thuộc tính gắn
với người sở hữu chứng chỉ. Trường mở rộng này không được sử dụng rộng
rãi. Nó được dùng để chứa những thông tin liên quan đến đặc quyền.
- Basic Constraint: trường này cho biết đây có phải là chứng chỉ CA hay
không bằng cách thiết lập giá trị logic (true). Trường này chỉ có trong
chứng chỉ CA.
Chứng chỉ CA dùng để thực hiện một số chức năng. Chứng chỉ này
có thể ở một trong hai dạng. Nếu CA tạo ra chứng chỉ để tự sử dụng, chứng
chỉ này được gọi là chứng chỉ CA tự ký. Khi một CA mới được thiết lập,
23


CA tạo ra một chứng chỉ CA tự ký để ký lên chứng chỉ của người sử dụng
cuối trong hệ thống. Và dạng thứ hai là CA cấp chứng chỉ cho những CA

khác trong hệ thống.
Phần mở rộng này cũng bao gồm Path Length Constraint - chỉ ra số
độ dài tối đa của đường dẫn chứng chỉ có thể được thiết lập. Giá trị “zero”
chỉ ra rằng CA chỉ có thể cấp chứng chỉ cho thực thể cuối , không cấp chứng
chỉ cho những CA khác. (Trường này chỉ có trong chứng chỉ của CA).
- Name Constraint: được dùng để bao gồm hoặc loại trừ các nhánh trong
những miền khác nhau trong khi thiết lập môi trường tin tưởng giữa các
miền PKI.
- Policy Constraint: trường này chỉ có trong các chứng chỉ CA. Nó ngăn
chặn việc ánh xạ chính sách giữa các CA với nhau.
- Enhanced Key Usage: trường này chỉ định cụ thể việc sử dụng khóa
công khai của chứng chỉ. Ví dụ như: OIDs có trong Chứng thực Client,
Chứng thực Server và Secure Mail. Khi một chứng chỉ được gửi đến một
ứng dụng thì ứng dụng có thể cần đến một Enhanced Key Usage OID riêng
biệt cho ứng dụng đó.

- CRL Distribution Point: chứa một hoặc nhiều URLs, là nơi mà danh
sách thu hồi chứng chỉ cơ sở ( base CRL – Certificate Revocation List) của
CA cấp phát được phát hành. Nếu việc kiểm tra thu hồi được kích hoạt, thì
ứng dụng sẽ sử dụng địa chỉ URL để lấy ra CRL mới nhất. Các URL có thể
được dùng như là HTTP, LDAP, hoặc File.
- Freshest CRL: chứa một hoặc nhiều URL, nơi mà danh sách delta CRL
của CA cấp phát được phát hành. Delta CRL chỉ chứa những chứng chỉ bị
thu hồi kể từ bản danh sách base CRL cuối cùng được phát hành. Nếu việc
kiểm tra thu hồi được kích hoạt thì ứng dụng sẽ sử dụng địa chỉ địa chỉ
URL này để lấy ra danh sách delta CRL đã cập nhật. Các URL có thể được

24



sử dụng như HTTP, LDAP, hoặc File. (Windows Server 2008 hỗ trợ cho
việc cấp phát hai loại CRL: base CRL và delta CRL).
- Authority Information Access: phần mở rộng này chứa một hoặc nhiều
URL nơi mà chứng chỉ của Issuing CA được phát hành. Một ứng dụng sử
dụng URL khi xây dựng một loạt chứng chỉ để lấy chứng chỉ CA nếu nó
không tồn tại trong bộ nhớ cache của ứng dụng.
- Subject Information Access: phần mở rộng này chứa những thông tin
theo cách nào đó để truy cập chi tiết về thực thể được cấp chứng chỉ. Nếu
chứng chỉ là một chứng chỉ CA, thì thông tin có thể gồm những phần đặc
biệt về những dịch vụ xác nhận chứng chỉ hoặc chính sách của CA. Nếu
chứng chỉ được cấp phát cho một người dùng, máy tính, thiết bị mạng hay
dịch vụ thì phần mở rộng này có thể chứa thông tin về các dịch vụ được
cung cấp bởi thực thể của chứng chỉ và cách nào để truy cập đến những
dịch vụ này.
2.3 Các loại chứng chỉ số:
Có nhiều chứng chỉ số khác nhau, các chứng chỉ số kết hợp với một thông tin nhận
diện nào đó và thường thì là một thuộc tính nào đó của một máy tính, người dùng
hoặc dịch vụ… Các chứng chỉ số đó được phân ra làm hai loại: chứng chỉ số CA và
chứng chỉ số thực thể cuối.
2.3.1 Chứng chỉ số CA:
Là chứng chỉ ban hành bởi một CA cho CA khác hay cho chính mình. Các
CA có các chứng chỉ có tác dụng nhận diện họ là những hãng có thẩm quyển
phát hành chứng chỉ. Đây là những chứng chỉ gốc của một mô hình CA phân
cấp Chứng chỉ số CA lại được phân loại thành:
- Chứng chỉ tự ký( self-signed certificate ): là chứng chỉ nhận diện của
chính CA tự phát hành cho mình. CA đó tự tạo chứng chỉ và đồng thời ký
luôn chứng chỉ đó. Chứng chỉ này còn được gọi là chứng chỉ gốc, có đặc
điểm là tên của chủ thể chứng chỉ trùng với tên của tổ chức phát hành
chứng chỉ.
25



×