Tiểu luận: an toàn và bảo mật thông tin
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TIỂU LUẬN
MÔN HỌC: AN TOÀN THÔNG TIN
ĐỀ :
Nghiên cứu các cơ chế thực hiện quản lý khoá trong
việc thanh toán điện tử
Giáo viên hướng dẫn : Nguyễn Duy Tân
Sinh viên thực hiện : Hoàng Lệ Chi
Lớp : TK6LC1
Hưng Yên, tháng 12 năm 2009
SV thực hiện: Hoàng Lệ Chi_TK6LC1
1
Tiểu luận: an toàn và bảo mật thông tin
Lời nói đầu
Hiện nay, ở các nước phát triển cũng như đang phát triển, mạng máy tính và Internet
đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của xã hội, và một
khi nó trở thành phương tiện làm việc trong các hệ thống thì nhu cầu bảo mật thông tin
được đặt lên hàng đầu. Nhu cầu này không chỉ có ở các bộ máy An ninh, Quốc phòng,
Quản lý Nhà nước, mà đã trở thành cấp thiết trong nhiều hoạt động kinh tế xã hội: tài
chính, ngân hàng, thương mại…thậm chí trong cả một số hoạt động thường ngày của
người dân (thư điện tử, thanh toán tín dụng,…). Do ý nghĩa quan trọng này mà những
năm gần đây công nghệ mật mã và an toàn thông tin đã có những bước tiến vượt bậc và
thu hút sự quan tâm của các chuyên gia trong nhiều lĩnh vực khoa học, công nghệ.
Một điểm đặc biệt của công nghệ bảo mật hiện đại là không dựa vào khả năng giữ bí
mật của phương pháp (công nghệ), vì nó thường không chỉ một người nắm giữ, nói
chung thường là nhóm đông người biết, mà khả năng giữ bí mật tuyệt đối của cả một
nhóm người là không thể, vì thế bí mật chỉ có thể giữ bởi một người mà lợi ích của anh ta
gắn liền với bí mật đó. Chính vì vậy, trong mã hóa hiện đại, người ta luôn giả thiết rằng
phương pháp mã hóa thông tin là cái không thể giữ được bí mật, chúng sẽ được công
khai, còn việc thực hiện thì cho phép thay đổi theo một tham số đó. Tham số như vậy
được gọi là “chìa khóa” và đó là thông tin duy nhất cần phải giữ bí mật. Tóm lại, một hệ
mã hiện đại cần phải dựa trên nguyên tắc: chốt tính bảo mật vào chìa khóa, chứ không
phải vào phương pháp (thuật toán).
Bài tiểu luận sẽ nghiên cứu về cơ chế thực hiện quản lý khóa trong thanh toán điện
tử nhằm phân tích các giải pháp an toàn khóa trong việc phân phối khóa để mang lại hiệu
quả cao nhất trong quá trình thực hiện.
1. Vai trò của chìa khóa trong các giải pháp bảo mật và an toàn thông tin.
Mật mã hay các giải pháp bảo mật được sử dụng để bảo vệ tính bí mật của thông tin khi
chúng được truyền trên các kênh truyền thông công cộng. Giả sử nếu một người U muốn
gửi cho người V một văn bản p, để bảo mật U lập cho p một bản mật mã c bằng một
SV thực hiện: Hoàng Lệ Chi_TK6LC1
2
Tiểu luận: an toàn và bảo mật thông tin
phương pháp Toán học nào đó, và thay vì gửi cho V văn bản p, U gửi cho V văn bản c. V
nhận được c thực hiện giải mã để thu được p. Để U biến p thành c và V biến c thành p, U
và V phải thống nhất sử dụng chung một hệ mã khóa nào đó: hệ mã khóa đối xứng hoặc
hệ mã khóa công khai.
2. Nhu cầu thóa thuận, chuyển vận và phân phối khóa.
Các hệ mã khóa công khai có nhiều điểm ưu việt hơn so với hệ mã khóa đối xứng vì
chúng không cần thiết lập một kênh truyền an toàn để trao đổi khóa bí mật. Tuy nhiên
điểm yếu của các hệ mã khóa công khai là chậm hơn nhiều so với các hệ mã khóa đối
xứng, thêm nữa hệ mã khóa công khai rất nhạy cảm với tấn công chọn bản rõ tức là nếu
bản mã C = E(P), trong đó P là bản rõ, thì người thám mã chỉ phải thực hiện mã hóa tất
cả các bản rõ có thể rồi so sánh kết quả thu được với C (điều này làm được là do khóa mã
hóa được công khai), bằng cách này anh ta không thể xác định được khóa bí mật nhưng
vẫn có thể thu được P. Vì vậy, trên thực tế hệ mã khóa đối xứng vẫn đang là công cụ
chính trong mã hóa dữ liệu (nhất là khi làm việc với những văn bản lớn). Thêm nữa,
trong rất nhiều giao thức mật mã, đặc biệt là những giao thức có sự tham gia của bên thứ
ba, thường đòi hỏi các bên có một chìa khóa bí mật chung để làm tiền đề cho quá trình
trao đổi chìa khóa phiên làm việc hay trao đổi chìa khóa công khai dùng trong hệ mã
công khai. Vấn đề đặt ra ở đây là làm sao để trao đổi các giá trị bí mật đó một cách an
toàn.
Trong chương này, luận văn sẽ đi vào chi tiết một vài cách tiếp cận để giải quyết vấn đề
trên. Trước tiên ta sẽ xem xét một vài khái niệm cơ bản sẽ được nói đến.
Giao thức là một thuật toán có sự tham gia của nhiều bên, được xác định chính xác bởi
một chuỗi các bước hoạt động của các bên tham gia nhằm đạt được mục tiêu xác định.
Một vài sơ đồ, giao thức trong chương này có sự tham gia của một cơ quan được uỷ thác
ký hiệu là TA) chịu trách nhiệm kiểm tra các thông tin về danh tính người dùng, chọn và
chuyển khóa,.v.v.
Ngoài nhiệm vụ thiết lập một giá trị khóa chung cho hai bên, đôi khi các bên còn đòi hỏi
giao thức cung cấp tính xác thực, các khả năng xác thực mà giao thức có thể là:
- Xác thực khóa (key authentication) là khả năng giao thức cho phép một bên đuợc bảo
đảm rằng ngoại trừ đúng bên đúng với thông tin danh tính đã xác định trước thì không
một ai khác có thể tính được giá trị bí mật.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
3
Tiểu luận: an toàn và bảo mật thông tin
Điều này có nghĩa là nếu U (V) muốn thiết lập, hoặc chuyển cho V (U) khóa bí mật bằng
cách sử dụng một giao thức có khả năng xác thực khóa thì sau khi kết thúc giao thức U
chắc chắn rằng chỉ có V mới có thể thu được giá trị đó.
- Xác thực khóa đôi khi còn được gọi là xác thực khóa ẩn (implicit key authentication)
- Xác nhận khóa (key confirmation) là khả năng giao thức cho phép một bên chắc chắn
rằng bên kia đã có giá trị bí mật. Nghĩa là sau khi kết thúc giao thức U chắc chắn rằng V
đã thu được giá trị bí mật K.
- Xác thực khóa hiển (explicit key authentication) Giao thức có khả năng xác thực khóa
và xác nhận khóa thì được gọi là giao thức xác thực khóa hiển.
- Xác thực thực thể (entity authentication) là quá trình cho phép một bên được đảm bảo
về danh tính của bên kia, và thực sự bên kia đã tham gia vào hoạt động của giao thức.
Các giao thức có thể chỉ cung cấp xác thực thực thể đơn phương (tức là chỉ cho phép xác
thực theo một chiều hoặc là U về V, hoặc là V về U).
Các giao thức có thể bị tấn công dưới dạng các hình thức sau:
- Tấn công thụ động (còn gọi là tấn công bị động – passive attack): quan sát, nghe trộm
quá trình thực hiện giao thức nhưng không làm ảnh hưởng tới giao thức và không thay
đổi được thông tin giao dịch.
- Tấn công chủ động (active attack): tìm cách thay đổi giao thức (theo hướng có lợi cho
mình), thay đổi thông tin, xóa thông tin thực, tạo thông tin giả, tham gia vào giao dịch.
3. Kỹ thuật quản lý và an toàn khóa trong các giao thức phân phối khóa.
3.1. Quản lý khóa
Quan hệ khóa là trạng thái trong đó các thực thể truyền thông chia sẻ dữ liệu chung (chất
liệu khóa) để làm thuận tiện cho các kỹ thuật mã hóa. Dữ liệu này có thể các khóa công
khai, bí mật, các giá trị khởi tạo, các tham số công khai khác.
Quản trị khóa là các kỹ thuật hay thủ tục hỗ trợ cho việc thiết lập và duy trì một
quan hệ khóa giữa các bên được phép. Cụ thể là các công việc:
- tạo người dùng hệ thống mới trong vùng;
- tạo sinh, phân phối, cài đặt chất liệu khóa;
- điều phối việc sử dụng chất liệu khóa;
- cập nhật, thu hồi, huỷ bỏ chất liệu khóa;
- lưu giữ, sao lưu, phục hồi chất liệu khóa.
Lý do phải quản lý khóa
SV thực hiện: Hoàng Lệ Chi_TK6LC1
4
Tiểu luận: an toàn và bảo mật thông tin
Quản lý khóa đóng vai trò quan trọng trong hệ thống mã hóa, nó là nền tảng để thực hiện
được các kỹ thuật nhận thực thực thể, xác nhận nguồn gốc dữ liệu, toàn vẹn dữ liệu, và
chữ ký điện tử một cách an toàn. Nếu hệ thống có sử dụng các kỹ thuật quản trị khóa
một cách hợp lý, nó có thể kháng lại các mối đe dọa sau:
- lộ khóa bí mật
- không còn đảm bảo tính xác thực của khóa bí mật & công khai. Tính xác thực ở đây
được xem là những hiểu biết và khả năng kiểm thử được định danh của bên nhận đối với
bên gửi.
- thực hiện những thao tác không được phép trên khóa công khai & khóa bí mật.
3.2. Các giao thức phân phối khóa
Người ta phân loại khóa dựa trên mức độ quan trọng của chúng như sau:
1. khóa chính (master key): khóa ở mức cao nhất trong cây phân cấp, thông thường
không bảo vệ bằng mã hóa. Chúng thường được phân phối bằng tay, hoặc thông qua các
thủ tục, các phần cứng vật lý.
2. khóa mã hóa khóa (key - encrypting keys): khóa đối xứng hay các khóa công khai
dùng để chuyển vận hay lưu giữ các khóa khác, sự an toàn của các khóa đó phụ thuộc vào
chúng.
3. khóa dữ liệu (data keys): dùng trong các phép toán mã hóa (hay xác thực) trên dữ liệu.
Chúng có thể là các khóa phiên (trong hệ mã đối xứng). Khóa riêng trong sơ đồ chữ ký
cũng có thể là khóa dữ liệu (tuy nhiên loại này thường được dùng trong thời gian dài).
Khóa ở mức cao được sử dụng để bảo vệ khóa ở mức thấp hơn. Mục đích chính của việc
làm này để tăng thêm độ khó cho các tấn công, và hạn chế bớt thiệt hại khi có khóa nào
đó bị lộ. Chẳng hạn khi khóa mã hóa khóa bị lộ, tệ hơn nữa là khóa chính thì sẽ ảnh
hưởng tới sự an toàn của tất cả các khóa ở mức dưới, nhưng khi khóa mã hóa dữ liệu nào
đó bị lộ thì không ảnh hưởng tới các khóa ở mức trên.
Ngoài ra người ta có thể phân chia khóa dựa trên khoảng thời gian còn hợp lệ của chúng
thành khóa vĩnh cửu (dùng mãi mãi) và khóa phiên (chỉ dùng trong một phiên giao dịch
hoặc trong khoảng thời gian nhất định). Khóa vĩnh cửu thường được dùng trong những
ứng dụng lưu trữ dữ liệu, còn khóa phiên thường được dùng trong những ứng dụng
truyền thông. Khóa dùng lâu dài chủ yếu được dùng để bảo vệ khóa phiên.
a. Phân phối khóa.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
5
Tiểu luận: an toàn và bảo mật thông tin
- Giao thức phân phối khóa: Là quá trình nhờ đó một bên tạo ra hoặc ngược lại nhận
được một giá trị dùng làm bí mật (khóa), và chuyển cho bên kia một cách an toàn. Phân
phối khóa đôi khi còn được gọi là chuyển vận khóa.
- Mã hóa công khai giúp giải bài toán phân phối khóa, đây là nhu cầu cấp bách cần phải
tạo ra một cơ chế chia sẻ khóa trong môi trường thương xuyên trao đổi thông tin và
thường xuyên thay đổi khóa. Nó bao gồm hai khía cạnh sau:
+ Phân phối khóa một cách công khai nhưng đảm bảo được tính bí mật.
+ Sử dụng mã khóa công khai để phân phối khóa mật (còn khóa mật dùng để mã
hóa thông tin).
b. Phân phối khóa công khai.
- Thông báo công khai của người sử dụng.
- Thư mục truy cập công cộng cho mọi người.
- Chủ quyền khóa công khai, người nắm giữ khóa công khai.
- Chứng nhận khóa công khai, khóa công khai của người sử dụng được nơi có thẩm
quyền chứng nhận.
* Thông báo công khai.
- Người dùng phân phối khóa công khai cho người nhận hoặc thông báo rộng rãi
cho cộng đồng. Chẳng hạn như sử dụng có thể tự bổ sung khóa PGP vào thư điện tử hoạc
gửi cho nhóm chia sẻ tin hoặc một danh sách thư điện tử.
- Điểm yếu chính của thông báo công khai là mạo danh: một người nào đó có thể
tạo khóa và tuyên bố mình là một người khác và gửi thông báo cho mọi người khác. Cho
đễn khi giả mạo bị phát hiện thì kẻ mạo danh đã có thể lừa trong vai trò người khác.
* Thư mục truy cập công cộng
- Dùng thư mục truy cập công cộng có thể đạt được tính an toàn cao hơn bằng cách đăng
ký khóa với thư mục công cộng để đăng tải và chia sẻ cho mọi người.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
6
Tiểu luận: an toàn và bảo mật thông tin
- Thư mục cần được đảm bảo tin cậy bằng các tính chất sau:
+ Chứa việc nhập tên và khóa công khai.
+ Người dùng đăng ký mật với thư mục.
+ người dùng có thể thay khóa bất cứ lúc nào.
+ Thư mục được in định kỳ.
+ Thu mục có thể truy cập qua mạng.
Mô hình trên vẫn còn có các lỗ hổng để kẻ xâm nhập sửa hoặc giả mạo khi vào hệ thống.
* Chủ quyền khóa công khai.
Đây là bước cải thiện tính an toàn bằng kiểm soát chặt chẽ tập trung việc phân phối khóa
từ thư mục. Nó bao gồm các tính chất của thư mục như đã nêu phần trước và đòi hỏi
người dùng biết khóa công khai của thư mục đó. Sau đó người dùng nhận được bất ký
khóa công khai mong muốn nào một cách an toàn, bằng cách truy cập thời gian thực đến
thư mục khi cần đến khóa. Tuy nhiên yêu cầu truy cập thời gian thực là một nhược điểm
của cách phân phối khóa này. Cụ thể trong bản kịch sau hai người sử dụng chia sẻ khóa
công khai của mình cho nhau thông qua việc sử dụng khóa công khai của chủ quyền để
nhận được khóa công khai của đối tác và trao đổi qua lại để khẳng định người này biết
thông tin của người kia.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
7
Tiểu luận: an toàn và bảo mật thông tin
* Chứng nhận khóa công khai.
Chứng nhận cho phép trao đổi khóa không cần truy cập thời gian thực đến chủ quyền thư
mục khóa công khai. Để làm việc đó chứng nhận chói danh tính của người sử dụng với
khóa công khai của anh ta và “đóng dấu và giấy chứng nhận” đó để tránh giả mạo. Các
thông tin đi kèm thông thường là chu kỳ kiểm định, quyền sử dụng, thời hạn…
Nội dung trên được ký bởi kháo riêng tin cậy của chủ quyền chứng nhận (CA –
Certificate Authority). Do khóa công khai của CA được thông báo rộng rãi, nên chứng
nhận đó có thể được kiểm chứng bởi một người nào đó biết khóa công khai của chủ
quyền chứng nhận.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
8
Tiểu luận: an toàn và bảo mật thông tin
c. Phân phối công khai các khóa mật.
Nói chung có thể sử dụng các phương pháp trên để nhận được khóa công khai của người
định trao đổi thông tin. Khóa công khai đó dùng cho mục đích mã hóa, giải mã hoặc xác
nhận thông tin là của đối tác. Nhưng các thuật toán kháo công khai chậm, nên giá để bảo
mật thông tin là đắt. Do đó thông thường dùng kháo đối xứng để mã hóa và giải mã nội
dung bản tin, mà còn được gọi là khóa phiên hay khóa kỳ (section key). Có một số cách
thỏa thuận kháo phiên phù hợp giữa hai ngươig sử dụng.
* Phân phối khóa mật đơn giản.
- Được đề xuất bởi Merkle vào năm 1979
+ A tạo ra một cặp khóa công khai mới tạm thời.
+ A gủi B một khóa công khai và danh tính của họ.
+ B tạo ra khóa phiên và gửi cho A sử dụng khóa công khai được cung cấp.
+ A giải mã khóa phiên và cả hai cùng dung nó
- Vấn đề nằm ở chỗ, kẻ thù có thể ngăn hoặc đóng giả cả hai bên của thủ tục.
Phân phối khóa đơn giản: dễ bị tấn công man-in-the-middle
Nếu có khóa công khai thì khóa phiên được trao đổi an toàn.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
9
Tiểu luận: an toàn và bảo mật thông tin
d. Trao đổi khóa hỗn hợp.
Ta có thể kết hợp sử dụng Trung tâm phân phối khóa để phân phối khóa phiên như trên
mô hình máy chủ IBM. Trung tâm chia sẻ khóa chính (master key) với mỗi người sử
dụng. Và phân phối khóa phiên sử dụng khóa chính với trung tâm. Sơ đồ khóa công khai
được dùng để phân phối khóa chính. Sơ đồ 3 lớp này đặc biệt hữu ích khi người sử dụng
phân tán rộng rãi. Các yêu cầu căn bản của hệ thống là chất lượng thực hiện và sự tương
thích nền tảng.
- Thuận lợi
+ Phân bổ khóa phiên bởi public-key, encryption cho phép giảm tải, public-key
encryption dùng để cập nhật khóa chính giữa người dùng và master key
+ Dễ dàng dùng lại master key.
3.3. Kỹ thuật kiểm tra và sử dụng khóa.
a. Tách biệt khóa và ràng buộc việc dùng khóa
Những thông tin có thể đưa thêm vào kết hợp với khóa sẽ dùng để mã hóa có thể là
những tham số hạn chế những sử dụng trên khóa đó bao gồm:
- Người sở hữu giá trị khóa đó.
- Thời gian khóa còn hợp lệ.
- Định danh khóa.
- Mục đích sử dụng.
- Thuật toán riêng nào đó.
- Hệ thống hay môi trường dự định sẽ dùng, những sử dụng được phép.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
10
Tiểu luận: an toàn và bảo mật thông tin
- Tên cá thể gắn với quá trình tạo, đăng ký, xác nhận khóa.
- Kiểm tra tính toàn vẹn trên khóa.
Nguyên lý của việc tách biệt khóa là các khóa có chức năng khác nhau phải được tách
bạch về mặt mã hóa, tránh dùng cùng khóa cho nhiều mục đích khác nhau ví như không
nên dùng khóa mã hóa khóa giống như khóa mã hóa dữ liệu, hoặc như khóa đối xứng và
khóa dùng để ký cũng phải phân biệt rõ ràng vì vòng đời của chúng là không giống
nhau. Những sai lầm chúng ta thường mắc phải là: dùng khóa công khai trong cả sơ đồ
ký và phần hỏi – đáp nhằm xác thực thực thể; khóa dùng cả trong mã hóa và xác thực
thực thể (rất dễ bị tấn công chọn bản rõ); sử dụng khóa đối xứng cả trong mã hóa và xác
thực văn bản.
b. Các kỹ thuật điều khiển việc sử dụng khóa.
* Tạo đuôi khóa và các biến thể khóa
Tạo đuôi khóa là phương pháp tương đối đơn giản để mô tả những sử dụng được phép
trên khóa (khóa dùng để mã hóa dữ liệu hay mã hóa khóa). Nó là một vecto bit hay một
trường có cấu trúc đi cùng khóa trong toàn bộ thời gian sống của khóa. Vecto này được
mã hóa cùng với khóa, và chỉ có thể nhận được nó ở dạng tường minh sau khi giải mã
khóa.
Phương pháp đơn giản nhất để phân tách khóa là các khóa khác nhau đó được xác định từ
một giá trị nào đó nhờ các hàm, các giá trị đó gọi là các biến thể khóa.
- Kỹ thuật đơn giản nhất là kỹ thuật lấy phần bù khóa. Thay vì dùng khóa K (khóa mã
hóa các khóa khác) ta sẽ sử dụng giá trị K N trong đó N tăng lên sau mỗi lần sử dụng. ⊕
- Kỹ thuật thứ hai sử dụng phần bù theo mặt nạ định sẵn. Giả sử trong hệ thống có ba
lớp khóa, khi đó các khóa sẽ được xác định từ hai biến thể K1 =K
⊕
v1 và K2 = K
⊕
v2 của khóa chính K, với v1, v2 là các giá trị mặt nạ công khai có sẵn.
Lưu ý rằng các phép toán trên phải không khả nghịch (một chiều), nếu không giá trị ban
đầu có thể tính được từ các biến thể của nó.
* Chứng nhận khóa
Yêu cầu chống lại sự tráo đổi khóa xuất hiện trong hầu hết các giao thức tạo lập khóa.
Một trong những kỹ thuật dùng để ngăn ngừa việc tráo đổi khóa là đặc tả rõ ràng danh
tính các bên có liên quan tới giá trị khóa đó, và chỉ khi có các thông tin định danh đúng
đắn mới có thể xác định được khóa. Khi đó, khóa được gọi là dành riêng cho các danh
tính đó, hay được chứng nhận cho các bên đó.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
11
Tiểu luận: an toàn và bảo mật thông tin
Hệ thống có thể thực hiện chứng nhận khóa bằng cách đơn giản như sau: Phục vụ được
uỷ quyền (hoặc có thể là bên nào đó) dùng khóa mã hóa khóa K để mã hóa khóa phiên S
cho bên gửi A và bên nhận B dưới dạng:
)(
)||(
SE
BAK ⊕
trong đó giá trị A và B là duy nhất
xác định thực thể trong hệ thống. Khi đó hai bên để tính được S phải có chung giá trị K,
và các giá trị A,B đúng đắn.
* Vecto điều khiển
Là giải pháp kết hợp ý tưởng tạo đuôi khóa và chứng nhận trên khóa. Mỗi khóa S sẽ đi
kèm với một vecto C, chỉ rõ mục đích sử dụng khóa. Vecto này sẽ ràng buộc S thông qua
sự thay đổi khóa mã khóa K trước khi mã hóa:
)(SE
CK ⊕
Việc giải mã để nhận được khóa yêu cầu phải cung cấp vecto C đúng đắn cũng như K,
còn nếu giá trị K
⊕
C không đúng thì kẻ tấn công sẽ không thu được thông tin gì.
3.4. Quản lý khóa trong hệ thống đa vùng
Các kỹ thuật ta đã xét trong các phần trên chủ yếu hoạt động trong vùng chỉ có một cơ
quan được uỷ thác (CA). Tuy nhiên trong thực tế có những hệ thống gồm nhiều vùng,
mỗi vùng có một CA riêng. Vậy thì làm thế nào để các bên uỷ thác vào CAx nào đó có
thể tin cậy vào các giá trị khóa của các thành viên uỷ thác vào CAy.
a. Quan hệ tin cậy giữa hai vùng
Nếu hai bên U và V, trong đó U thuộc vùng
U
D
có cơ quan được uỷ thác
U
T
, còn V là
thành viên của vùng
V
D
, uỷ quyền
V
T
, muốn truyền tin cho nhau, thì có thể thực hiện
một trong hai cách sau:
* (dùng chung khóa đối xứng) thiết lập khóa chung
UV
K
chỉ có hai bên (có thể có uỷ
quyền) biết. Quá trình để U và V có chung một giá trị khóa có thể phác thảo các bước
như sau:
- U thông báo cho
U
T
muốn có khóa với V
-
U
T
,
V
T
thiết lập khóa bí mật ngắn hạn
UV
K
-
U
T
chuyển
UV
K
cho U,
V
T
chuyển cho V an toàn và tin cậy
- U dùng
UV
K
để truyền thông trực tiếp với V.
* (chia sẻ khóa công khai tin cậy) giá trị khóa công khai tin cậy sẽ được sử dụng như là
cầu nối tin cậy giữa các vùng. U có thể nhận được khóa công khai tin cậy từ V như sau:
- U yêu cầu
U
T
cung cấp khóa công khai của V
-
U
T
nhận được giá trị đó từ
V
T
xác thực
SV thực hiện: Hoàng Lệ Chi_TK6LC1
12
Tiểu luận: an toàn và bảo mật thông tin
-
U
T
chuyển khóa này cho U
- U sử dụng khóa này để truyền thông trực tiếp với V
Để thực hiện được một trong hai trường hợp trên thì giữa
U
T
và
V
T
phải có quan hệ tin
cậy, nó có thể là trực tiếp “tin” vào nhau, hoặc cả hai cùng “tin” vào một bên trung gian
thứ ba.
Bây giờ chúng ta sẽ nói đến một khái niệm thường xuyên được nhắc đến trong phần tiếp
theo.
Chứng chỉ giao chéo (cross - certificate) là chứng chỉ do một CA tạo ra, chứng nhận khóa
công khai của CA khác.
b. Các mô hình tin cậy với nhiều CA
Có rất nhiều mô hình khác nhau để tổ chức quan hệ tin cậy giữa các CA trong hệ thống
gồm nhiều CA, để phân biệt với mô hình truyền thông người ta gọi đó là mô hình dùng
để chứng nhận. Các quan hệ tin cậy được thiết lập như thế nào để các thành viên của một
CA nào đó có thể kiểm thử được chứng chỉ do CA khác cấp.
* Sự tin cậy trên các vùng riêng biệt
Mô hình này có các CA khác nhau xác định trên các vùng khác nhau, giữa chúng không
có quan hệ tin cậy. Người dùng ở vùng này không thể kiểm thử tính xác thực của chứng
chỉ trong vùng khác.
* Mô hình tin cậy có thứ bậc chặt chẽ
Mô hình này gồm có một nút gốc, và mọi sự chứng nhận đều xuất phát từ gốc, vì thế nó
còn được gọi là mô hình tin cậy tập trung.
Nhược điểm của mô hình này là:
- mọi sự tin cậy của hệ thống phụ thuộc vào gốc
- luôn luôn yêu cầu một dãy các bước chứng nhận kể cả với hai thực thể trên cùng một
vùng.
- khi cây có độ cao lớn thì dãy các bước chứng nhận càng lớn.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
13
Tiểu luận: an toàn và bảo mật thông tin
- không thật tự nhiên, vì thông thường sự tin cậy bao giờ cũng bắt nguồn từ những nút
cục bộ chứ không phải gốc ở xa.
* Chứng chỉ ngược thứ bậc và mô hình tổng quát
Để khắc phục nhược điểm sự tin cậy tập trung quá nhiều vào gốc của mô hình trước,
người ta đưa ra một mô hình tổng quát hơn cho phép các CA con ở mức dưới có thể
chứng nhận chứng chỉ của các CA cha. Vì thế trong mô hình này có hai loại chứng chỉ:
loại đúng thứ bậc do CA cha chứng nhận cho các CA con, loại ngược thứ bậc do các CA
con chứng nhận CA cha. Mô hình này tự nhiên hơn mô hình trước vì CA của mỗi vùng sẽ
chứng nhận khóa công khai của thực thể trong vùng đó. Tuy nhiên mô hình này vẫn còn
không thuận tiện khi phải thiết lập quan hệ tin cậy giữa hai thực thể thuộc hai vùng khác
nhau.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
14
Tiểu luận: an toàn và bảo mật thông tin
Khi đó mô hình tin cậy không tập trung, không có nút gốc, có dạng đồ thị có hướng,
trong đó quan hệ tin cậy được thể hiện bởi các cung của đồ thị là mô hình tổng quát và
phù hợp với yêu cầu thực tế nhất trong số các mô hình đã xét.
Ngoài ra, đôi khi người ta phải giới hạn phạm vi của dãy chứng nhận có thể chỉ nhỏ hơn
một giá trị nào đó, hoặc các vùng hợp lệ trong khi chứng nhận.
3.5. Vòng đời khóa
Cách quản lý khóa đơn giản nhất là dùng khóa vĩnh cửu nghĩa là giá trị của nó không
thay đổi mỗi khi sử dụng. Tuy nhiên điều này rất nguy hiểm, vì vậy khóa phải được cập
nhật một cách định kỳ để tránh sự phụ thuộc giữa khóa mới và khóa cũ trong quá khứ.
Dãy các trạng thái thể hiện sự thao tác trên chất liệu khóa trong toàn bộ thời gian sống
của nó được gọi là vòng đời quản lý khóa. Các giai đoạn này thường bao gồm:
- đăng ký thành viên - thực thể trở thành thành viên của vùng. Giai đoạn này yêu cầu
một thực thể nào đó khi gia nhập vùng phải cung cấp một số PIN, hay mật khẩu.
- khởi tạo người dùng - thực thể bắt đầu thực hiện ứng dụng mã hóa, thường là hoạt động
sử dụng hay cài đặt chất liệu khóa ban đầu thu được sau khi đăng ký.
- sinh khóa – sinh ra khóa để mã hóa. Thành viên có thể tự lấy khóa của mình hoặc yêu
cầu từ một uỷ quyền nào đó.
- cài đặt khóa - chất liệu khóa được cài đặt thực sự để sử dụng
- đăng ký khóa – cùng với cài đặt khóa, chất liệu khóa phải chính thức được ghi lại cùng
với tên để phân biệt các thành viên.
- sử dụng thông thường - sử dụng khóa để mã hóa theo sơ đồ mã hóa nào đó.
- sao lưu khóa – sao lưu chất liệu khóa một cách độc lập bằng phương tiện lưu giữ tin
cậy.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
15
Tiểu luận: an toàn và bảo mật thông tin
- cập nhật khóa - trước khi khoảng thời gian mã hóa hết liệu lực, chất liệu khóa phải
được thay bằng giá trị mới.
- lưu trữ lại - chất liệu không còn được dùng nữa có thể được lưu giữ lại phục vụ cho
một vài trường hợp nhất định nào đó.
- đăng ký lại và huỷ bỏ - mỗi khi không còn yêu cầu khóa hay duy trì nó nữa, thì cần
phải đăng ký lại (loại bỏ tất cả bản ghi chính thức các khóa đang có) và loại bỏ tất cả cá
bản sao của khóa. Nếu là khóa bí mật thì mọi sự theo dấu cũng phải được xóa bỏ hẳn.
- khôi phục khóa - nếu chất liệu khóa bị mất không phải vì để lộ (ví dụ như thiết bị hư
hỏng hay quên mật khẩu), cần phải khôi phục lại từ bản sao lưu của nó.
- thu hồi khóa - việc làm cần thiết khi loại bỏ khóa đã dùng hết hạn. Nếu sử dụng chứng
chỉ khóa công khai điều này có nghĩa là thu hồi chứng chỉ.
Các giai đoạn này thường được sử dụng trong hệ mã công khai, còn với hệ đối xứng hì
không cần giai đoạn: đăng ký, sao lưu, huỷ bỏ hay lưu trữ lại.
4. Một số cách tổ chức các dịch vụ quản trị khóa
4.1. Giới thiệu
Ngày nay hầu như tất cả các doanh nghiệp đều có Web site riêng của mình và trong các
công ty thì việc sử dụng Internet ngày càng trở nên hết sức bình thường. Hệ quả của nó là
mọi người ngày càng quan tâm thực sự đến thương mại điện tử (TMĐT) trên nền tảng
Web. TMĐT với sự tham gia của rất nhiều tổ chức, doanh nghiệp khác nhau với nhiều
giao dịch điện tử, không có giấy tờ, chỉ có truyền thông mạng và máy tính, truyền thông
có thể là công khai hoặc bí mật, hoặc cũng có thể là sự hợp thành của cả hai. Trước đây
TMĐT chủ yếu tập trung vào trao đổi dữ liệu điện tử, và đó là phương thức chính để thực
hiện các hoạt động kinh doanh giữa các bên đã thiết lập quan hệ làm ăn trước đó. Nhưng
giờ đây dưới sự phát triển của trình duyệt và HTML, TMĐT đã được mở rộng như là các
hoạt động kinh doanh thông qua Internet thậm chí có thể giữa các bên mà có thể trước
đây chưa hề biết nhau, còn Web được coi là hình thức thông dụng cho việc chuyển vận
thông tin. Việc giao dịch sử dụng cơ sở hạ tầng của mạng công khai Internet có thể giảm
chi phí cho các doanh nghiệp. Nó sẽ cho phép tất cả các công ty lớn, vừa, nhỏ vươn tới
các khách hàng thực sự ở khắp mọi nơi.
Tuy nhiên chúng ta phải đối mặt với một thực tế là Internet và Web cực kỳ nhạy cảm với
các kiểu tấn công, và vì thế nhu cầu tất yếu ở đây đòi hỏi cần phải phát triển các dịch vụ
đảm bảo an toàn.
SV thực hiện: Hoàng Lệ Chi_TK6LC1
16
Tiểu luận: an toàn và bảo mật thông tin
Trong phần này sẽ tập trung vào hai vấn đề ngày càng trở nên quan trọng hơn và gần như
đã trở thành một phần của thương mại Web: giao thức Socket an toàn SSL và cơ sở hạ
tầng khóa công khai PKI.
4.2. Cơ sở hạ tầng khóa công khai PKI
PKI (Public Key Infrastructure) cho phép các bên khi tham gia vào một giao dịch có thể
nhận ra bên kia bằng cách cung cấp thông tin xác thực thông qua chứng chỉ, và tin tưởng
vào truyền thông bằng cách cung cấp bí mật thông qua việc sử dụng mã hóa, xác thực,
toàn vẹn dữ liệu, và không thể thoái thác thông qua chữ ký điện tử. PKI là sự hợp thành
của chứng chỉ điện tử, mã hóa khóa công khai, các CA. Trong môi trường Internet mở
như hiện nay thì sử dụng PKI cấp quyền cho các bên là giải pháp hợp lý nhất.
Kỹ thuật kết nối an toàn gói tin Internet
4.2.1. Các dịch vụ PKI
PKI chủ yếu cung cấp dịch vụ xuất bản chứng chỉ và làm sao để có thể truy nhập và sử
dụng chúng. Giống như danh bạ điện thoại vậy, thư mục PKI liệt kê khóa công khai của
tổ chức hay cá nhân. Các PKI giải quyết các bài toán quản lý khóa: tạo sinh, phân phối,
xác thực, và lưu giữ. Một cơ sở hạ tầng khóa công khai PKI gồm:
SV thực hiện: Hoàng Lệ Chi_TK6LC1
17
Tiểu luận: an toàn và bảo mật thông tin
− Một uỷ quyền chứng chỉ (CA) sinh và kiểm thử các chứng chỉ
− Một uỷ quyền đăng ký (RA) thực hiện kiểm thử ủy quyền chứng chỉ trước khi xuất bản
chứng chỉ cho bên yêu cầu.
− Dịch vụ thư mục (DS) trong đó các chứng chỉ (cùng với khóa công khai của chúng)
được lưu giữ và có sẵn dùng (thường là trong thư mục chuẩn ITU X.500)
− Thực thể cuối (EE) giữ chứng chỉ: người dùng, tổ chức, ứng dụng, .v.v.
− Các client dùng PKI để nhận chứng chỉ, hợp lệ chứng chỉ và chữ ký;
− Một hệ thống quản lý chứng chỉ.
Hệ thống quản lý chứng chỉ thường có các dịch vụ sau:
− Hủy bỏ chứng chỉ: hủy chứng chỉ đã xuất bản, tạo và công khai danh sách chứng chỉ
thu hồi, lưu lại và
− Hết hạn chứng chỉ và cập nhật
− Dịch vụ bảo đảm có thể giải mã được các văn bản đã mã hóa trước đó
− Sao lưu và phục hồi chứng chỉ: Bảo đảm không bị mất thông tin
− Dịch vụ hỗ trợ không thể thoái thác: việc sao lưu và phục hồi khóa gây ra một kẽ hở
cho hệ thống. Ai đó có thể lợi dụng điều này cho rằng đã có người khác truy nhập tới
khóa đang ký của họ, vì thế họ không hoàn toàn chịu trách nhiệm cho những giao dịch
kiểu như thế, mặc dù những giao dịch này rõ ràng là do họ ký. Do đó cần thiết phải duy
trì hai cặp khóa cho mỗi người dùng. Cặp khóa mã hóa có thể sao lưu và phục hồi, ngược
lại thì cặp khóa ký không nên để cho người dùng sở hữu hoàn toàn.
− Dịch vụ tem thời gian
− Hợp lệ chứng chỉ thông qua chính sách.
5. Tài liệu tham khảo
1. Prentice.Hall Cryptography.and.Network.Security.4
th
2. Phan Đình Diệu (2002), Lý thuyết mật mã & an toàn thông tin, Nhà xuất
bản Đại học Quốc gia Hà nội.
3. .
4. .
5. .
SV thực hiện: Hoàng Lệ Chi_TK6LC1
18