An Ninh Lớp Truyền Tải (Tls - Transport Layer Security)


Mỗi MD là một hàm lấy số liệu đầu vào có kích cỡ tuỳ ý (chính là bản tin) và tạo thành đầu ra có kích cỡ cố định gọi là bản tóm tắt. Tập hợp thông tin này sau đó được mật mã hoá sử dụng khoá bí mật của người gửi có sử dụng một thuật toán không đối xứng thích hợp. Kết quả sau khi mật mã hoá khối thông tin là chữ ký số.

MD được tính toán là một giá trị bit nhằm để mô tả tình trạng hiện thời của tài liệu. Nếu tài liệu thay đổi, MD cũng sẽ thay đổi. Bằng cách hợp nhất MD vào chữ ký số, khi chữ ký số đã được tạo thành nó cho phép người nhận tài liệu có thể dễ dàng phát hiện ra tài liệu có bị biến đổi hay không.

Mục đích sử dụng của chữ ký số cũng tương tự như chữ ký thông thường, bao gồm:

Nhận thực: Nếu người nhận thành công trong việc giải mã thông tin với một khóa công cộng xác định thì người đó có thể chắc chắn rằng bản tin đó đã được ký bởi chính người sử dụng khoá bí mật tương ứng. Còn một vấn đề nữa là phải kiểm tra xem khoá công cộng này có thực sự là của người gửi đích thực hay không. Vấn đề này có thể được giải quyết bằng cách sử dụng các chứng nhận số sẽ được xét ở phần sau.

Tính toàn vẹn: Nếu một bản tin đã được ký mà thay đổi trong quá trình truyền dẫn, người nhận sẽ không thể giải mã được với khoá công cộng. Đây là một cách dễ dàng để phát hiện ra những thay đổi cố ý hoặc vô ý trong thông tin được phát.

Tính không thể phủ nhận: Trong các phiên giao dịch điện tử, một yêu cầu rất quan trọng đối với mỗi bên tham gia là phải đảm bảo rằng bên còn lại không thể từ chối việc phải thực thi một số hành động nào đó. Chữ ký số cũng rất thích hợp với yêu cầu này do một tài liệu điện tử chỉ có thể được ký bởi chính người sở hữu khoá bí mật.

2.1.2.1 Hàm Hash

Các bản tin mà được tạo ra bởi một ứng dụng thông thường thường quá dài để có thể có thể được ký bằng cách sử dụng mật mã hoá khoá công cộng. Do đó, thay vì phải ký cho toàn bộ bản tin, ngưòi gửi sử dụng một thuật toán Hash (thuật toán làm mới) để tính toán một tóm tắt bản tin (MD: Message Degest), bản tóm tắt này trong thực tế là một phiên bản số liệu gốc đã được nén, sau đó người gửi ký bản tóm tắt này bằng khóa riêng của họ.

Các tóm tắt bản tin được tính bằng một thuật toán Hash cụ thể luôn có chiều dài cố định (thường là 128 bit hoặc 160 bit) và chiều dài này không phụ thuộc vào chiều dài của bản tin được ký. Ngoài ra, không thể tìm lại bản tin ban đầu từ một tóm tắt bản

Có thể bạn quan tâm!

Xem toàn bộ 72 trang tài liệu này.


tin, và mỗi thay đổi dù nhỏ nhất trong số liệu được ký sẽ làm cho thuật toán tạo ra một giá trị đầu ra hoàn toàn khác biệt.

Một thuật toán Hash được thiết kế tốt sẽ có đủ khả năng chống lại những tổ chức tấn công lớn mạnh lẫn kiểu tấn công tìm ra hai bản tin tuỳ ý có cùng MD. Các đầu ra 64 bit được xem là quá nhỏ để có thể chống được lại những tấn công này. Để bảo vệ những điểm yếu trước những tấn công trên, các đầu ra được khuyến nghị mạnh có chiều dài ít nhất là 128 bít. Với chiều dài này thì những tấn công trở nên vô hiệu với công nghệ hiện nay. Tuy nhiên sự phát triển năng lực tính toán trong máy tính cho thấy một yêu cầu rằng trong tương lai vẫn cần phải tạo ra các MD có chiều dài lớn hơn để có thể đảm bảo một mức an ninh có thể chấp nhận được.

Việc lựa chọn một hàm Hash thích hợp là một quyết định cần thiết khi thiết kế một cơ sở hạ tầng khoá công cộng (PKI: Public Key Infrastructure), bởi nếu sử dụng một thuật toán không đảm bảo sẽ làm tổn hại đến tính an ninh của toàn bộ hệ thống mật mã hoá.

Các hàm Hash thông dụng nhất là MD2, MD4, MD5, SHA, RIPEMD-160 và HAVAL.

2.1.2.2 Thủ tục ký và kiểm tra

Các bước cần thiết để ký và kiểm tra một mẫu thông tin được mô tả ở hình 2.2. Các thành phần cần thiết của một hệ thống như vậy là các thuật toán khoá công cộng và thuật toán Hash mà sẽ được lựa chọn một cách cẩn thận theo yêu cầu. Số liệu gốc trước tiên sẽ được làm mới lại bằng cách sử dụng hàm một chiều Hash, sau đó được mật mã hoá bằng khoá bí mật của người gửi. Như đã đề cập ở phần trước, mục đích của thủ tục này là giảm thời gian mật mã hoá do các thuật toán không đối xứng thực thi chậm hơn nhiều các thuật toán đối xứng. Cả số liệu gốc lẫn chữ ký đều được gửi qua kênh thông tin không an toàn đến người nhận.



Hình 2 2 Thủ tục ký và kiểm tra chữ ký Để kiểm tra tính toàn vẹn của số 1

Hình 2.2. Thủ tục ký và kiểm tra chữ ký

Để kiểm tra tính toàn vẹn của số liệu, người nhận rút khoá công cộng của người gửi từ chứng nhận số của nó và sử dụng khoá công cộng này để giải mật mã chữ ký số. Sau đó áp dụng hàm Hash mà đã được người gửi sử dụng cho số liệu gốc nhận được. Các tóm tắt bản tin thu được sẽ được so sánh với nhau để thẩm định rằng bản tin không bị sửa đổi trong quá trình truyền dẫn và nó thực sự được gửi từ người gửi mong đợi. Chú ý rằng người nhận phải lấy chứng nhận số của người gửi từ một server chứng nhận, đây chính là bước kiểm tra giá trị chứng nhận.

2.1.2.3 Tấn công của kẻ xen giữa (the Man-in-the-Midle)

Tự bản thân các chữ ký số làm nảy sinh một vấn đề về tính toàn vẹn khi thông tin được gửi qua các mạng không tin cậy, nhưng chúng yêu cầu các cơ chế bổ sung cũng phải đảm bảo các thuộc tính nhận thực và không thể phủ nhận được phù hợp. Dựa vào việc nhận được một chữ ký số, thực thể nhận phải chắc chắn rằng khoá công cộng được sử dụng trong quá trình xử lý thực sự thuộc về người ký được mong đợi. Nếu không, phiên truyền thông rất dễ bị tấn công bởi kẻ xen giữa.

Khi hai thực thể (bên gửi và bên nhận) muốn truyền thông một cách an toàn bằng cách sử dụng các chữ ký số, người gửi trước tiên phải gửi khoá công cộng của họ tới người nhận để đảm bảo rằng các bản tin đã được ngưòi gửi ký có thể được giải mã.


Nếu sự trao đổi khóa này được thực hiện qua một kênh không an toàn, một kẻ xâm nhập có thể dễ dàng chặn khoá công cộng lại và thực hiện những hành động sau để có thể truy nhập tới những thông tin bí mật đang được phát.

Kẻ xâm nhập tạo ra cặp khoá của riêng nó.

Khoá công cộng của kẻ xâm nhập được gửi tới người nhận thay cho khoá công công của người gửi thực sự, khoá này được giữ lại để giải mật mã hoá bản tin.

Tất cả các bản tin được gửi đều bị chặn bởi kẻ xâm nhập, người này sẽ sử dụng khoá công cộng của người gửi để giải mật mã hoá các bản tin trên. Kết quả là các bản rõ có thể bị sửa đổi và được ký lại bằng khoá bí mật giả. Sau đó, chúng được gửi tới người nhận.

Người nhận giải mật mã bản tin này với khoá công cộng giả mạo. Như vậy kẻ xâm nhập đã chặn và sửa đổi thông tin mà cả người gửi lẫn người nhận đều không hay biết sự lừa gạt này.

2.2 CHỨNG NHẬN SỐ

Các khóa công cộng đã được mô tả trong phần trước và được sử dụng trong nối mạng số liệu để kiểm tra các chữ ký số, bản thân chúng không mang bất cứ thông tin nào về các thực thể cung cấp các chữ ký. Công nghệ nối mạng số liệu thừa nhận vấn đề này và tiếp nhận các chứng nhận an ninh để ràng buộc khóa công cộng và nhận dạng thực thể phát hành khóa. Chứng nhận số đảm bảo rằng một khoá công cộng là sở hữu của thực thể mà nó thể hiện. Các thẩm quyền này được phép cung cấp các dịch vụ này cho các thực thể được nhận dạng hợp lệ khi chúng yêu cầu. Để thực hiện chức năng của mình, một CA (Certificate Authority) phải được tin tưởng bởi các thực thể (các thành viên cuả PKI) dựa trên các dịch vụ của nó. Người dùng có thể mua chứng nhận số từ CA và sử dụng chứng nhận này để nhận thực và để lưu hành khoá riêng của họ. Một chứng nhận số điển hình chứa những thông tin sau:

Tên của người đang nắm giữ chứng nhận số, cũng như thông tin khác mà có thể nhận dạng duy nhất người này, thông tin phụ thêm có thể là URL của một Web Server đang sử dụng chứng nhận hay một địa chỉ email.

Khoá công cộng của người đang nắm giữ chứng nhận số.

Tên của CA lưu hành chứng nhận này.

Thời hạn sử dụng của chứng nhận (thường là ngày bắt đầu và ngày hết hạn).


Một chữ ký số của CA để có thể nhận ra chứng nhận số đề phòng trường hợp phiên truyền dẫn bị phá rối.

Tất cả các chứng nhận được ký bằng một khóa riêng của CA. Người sử dụng chứng nhận có thể xem kiểm tra thông tin của chứng nhận có hợp lệ không bằng cách giải mật mã chữ ký bằng một khoá kiểm tra công cộng nhận được từ chứng nhận phát đi từ thẩm quyền mức phân cấp cao hơn và kiểm tra xem nó có phù hợp với MD (Message Digest: tóm tắt bản tin) của nội dung nhận được trong chứng nhận hay không. Chữ ký thường là một MD được mật mã hóa.

Dạng chính của chứng nhận số là X.509, một tiêu chuẩn công nghiệp cho nhận thực. Những chứng nhận này là rất thông dụng trong các ứng dụng Internet. Trong lĩnh vực vô tuyến có loại chứng nhận số khác gọi là chứng nhận WTLS Server WAP (WAP Server WTLS Certificate), các chứng nhận này thường được gọi ngắn gọn là chứng nhận WTLS, đây là phiên bản đơn giản hơn của X.509 được tạo ra do chứng nhận X.509 quá lớn đối với các ứng dụng vô tuyến. Các chứng nhận WTLS chủ yếu được sử dụng trong các ứng dụng WAP nơi mà các trình duyệt muốn nhận thực nhận dạng của một Server WAP và mật mã hoá thông tin bắng cách sử dụng giao thức an ninh lớp truyền tải vô tuyến (WTLS - Wireless Transport Layer Security).

2.3 CƠ SỞ HẠ TẦNG KHÓA CÔNG CỘNG

Cơ sở hạ tầng khoá chung (PKI - Public Key Infrastructure) là một khái niệm được sử dụng để mô tả một tổ chức hoàn chỉnh của các hệ thống và các nguyên tắc để xác định một hệ thống an ninh riêng lẻ. Nhóm nghiên cứu X.509 của lực lượng kỹ thuật Internet (IETF - Internet Engineering Task Force) định nghĩa PKI là “một tập hợp phần cứng, phần mềm, nhân lực và các thủ tục cần thiết để tạo, quản lý, lưu trữ, phân phối và huỷ bỏ các chứng nhận dựa trên mật mã khoá công cộng”.

Các thành phần của PKI bao gồm:

Các nhà thẩm quyền cấp chứng nhận chịu trách nhiệm đối với việc ban hành và huỷ bỏ chứng nhận.

Các cơ quan đăng ký chịu trách nhiệm liên kết giữa các khoá công cộng với các nhận dạng của người sở hữu chúng.

Những người sở hữu chứng nhận là những người được phép lưu hành chứng nhận tức là người đó có thể sử dụng để đánh dấu một tài liệu số.


Kho dùng để lưu trữ các chứng nhận cũng như các danh sách huỷ bỏ chứng nhận (CRL: Certificate Revocation Lists).

Chính sách an ninh để định hướng an ninh cho một tổ chức

Các thành viên PKI có thể thỏa thuận một thời gian sống tiêu chuẩn cho một chứng nhận. Và vì thế xác định khi nào một chứng nhận bị hết hạn.

Các quan hệ tin tưởng giữa CA và các thành viên PKI khác phải được thiết lập trước khi xảy ra giao dịch PKI. Các quan hệ này thường nằm ngoài phạm vị PKI và vì thế cũng nằm ngoài phạm vi công nghệ nối mạng. Các quan hệ tin tưởng PKI có thể được thiết lập trên cơ sở địa lý, chính trị, xã hội, dân tộc và có thể mở rộng cho các công nghiệp, các nước, các nhóm dân cư hay các thực thể khác được ràng buộc bởi các mối quan tâm chung. Các mô hình tin tưởng PKI có thể về mặt lý thuyết dựa trên một CA duy nhất được sử dụng để tạo lập PKI trên toàn thế giới giống như Internet toàn cầu hay một phân cấp các CA phân bố trong đó mỗi CA có thể được tin tưởng sau khi đi qua một chuỗi chứng nhận để đến một CA chung được các phía tham gia thông tin an ninh tin tưởng.

Hình 2 3 PKI dựa trên phân cấp CA phân bố Hình 2 3 trình bày trường hợp hai phía 2

Hình 2.3. PKI dựa trên phân cấp CA phân bố

Hình 2.3 trình bày trường hợp hai phía A và B muốn trao đổi bí mật. A nhận được khóa công cộng từ chứng nhận B. Vì chứng nhận này được ký bởi khóa khóa riêng của CA của B, nên nó có thể được kiểm tra tại CA của B bằng khoá công cộng CA của B nhận được từ chứng nhận CA của B. Đến lượt mình chứng nhận CA của B lại được kiểm tra bằng khóa công cộng nhận được từ CA gốc và khóa này đựơc đảm bảo là hợp lệ vì nó đã được chuyển thành mã của PKI client trong modul phần mềm của A. Sau


khi đã có khóa công cộng của B, A mật mã hóa bí mật bằng cách sử dụng khoá này, sau đó nó gửi bản tin đã được mật mã hóa đến B cùng với chứng nhận của chính nó (của A) và MD của bí mật được mật mã hóa, được tính toán theo khóa riêng của A. Khi nhận được bản tin này, B kiểm tra bí mật được mã hóa đến từ A bằng cách kiểm tra MD trên cơ sở sử dụng khóa công cộng A nhận được từ chứng nhận A, sau đó nó tiến hành giải mật mã trên cơ sở sử dụng khóa riêng B.

Chứng nhận có thể được gửi đi ở các khuôn dạng khác nhau. Tiêu chuẩn an ninh thực tế được công nghiệp tiếp nhận rộng rãi là [X509] do ITU định nghĩa. Các thực thể công cộng và tư dựa trên các dịch vụ (tin tưởng) do một CA chung cung cấp và tiếp nhận các chứng chỉ của nó từ PKI. Các thành viên của các nhóm PKI có thể dễ dàng tự nhận dạng đến một thành viên khác dựa trên các chứng nhận do CA cung cấp. Để vậy, các thành viên của PKI chỉ cần thiết lập quan hệ tin tưởng an ninh với một thành viên của PKI, CA chứ không với các thành viên khác.

Ba chức năng chính của PKI gồm:

Chứng nhận

Công nhận hợp lệ

Hủy

Chứng nhận hay ràng buộc một khóa với một nhận dạng bằng một chữ ký được thực hiện bởi CA, còn công nhận có hợp lệ hay chuyên môn hơn, kiểm tra nhận thực chứng nhận được thực hiện bởi một thực thể PKI bất kỳ. Quá trình chứng nhận bao gồm việc tạo ra một cặp khóa công cộng bao gồm khóa công cộng và khóa riêng do người sử dụng tạo ra và trình cho CA trong một phần của yêu cầu hay do CA thay mặt người sử dụng tạo ra. Công nhận hợp lệ bao gồm việc kiểm tra chữ ký do CA phát hành đối chiếu với CRL và khóa công cộng của CA. Hủy một chứng nhận hiện có trước khi hết hạn cũng được thực hiện bởi CA. Sau khi chứng nhận bị hủy, CA cập nhật CRL thông tin mới. Trong một kịch bản điển hình, khi người sử dụng cần nhận hay công nhận một chứng nhận được trình bày là hợp lệ, nó gửi yêu cầu này đến CA. Sau khi chứng nhận được yêu cầu được phát đi hay tính hợp lệ của nó được kiểm tra, thông tin tương ứng được CA gửi vào một kho chứng chỉ, trong kho có cả CRL.


2.4 CÁC GIAO THỨC CHÍNH

2.4.1 Lớp các ổ cắm an toàn (SSL - Secure Sockets Layer)

SSL là giao thức bảo mật chủ yếu được sử dụng trên Internet hiện nay. Nó được phát triển bởi Netscape để cung cấp các phiên truyền thông qua mạng Internet bí mật và an toàn, được sử dụng trên giao thức HTTP, mặc dù nó có thể được sử dụng trên giao thức FTP hoặc các giao thức thích hợp khác. SSL sử dụng kết hợp các thuật toán đối xứng và không đối xứng để tối đa hoá hiệu năng.

Sau đây là bốn pha trong một phiên SSL:

1. Bắt tay và thoả hiệp thuật toán: Cả Server và Client đều đồng ý các thuật toán (algorithms) và các hệ mật mã (ciphers) sẽ sử dụng.

2. Nhận thực: Server và có thể là Client được nhận thực bằng cách sử dụng các chứng nhận số.

3. Trao đổi khoá: Client tạo một khoá bí mật và gửi nó cho Server có sử dụng khoá công cộng của Client để mật mã hoá khoá bí mật. Server sẽ giải mật mã hoá bản tin bằng cách sử dụng khoá riêng của nó. Và phần còn lại của phiên truyền dẫn này, Client và Server có thể truyền thông với nhau sử dụng khoá bí mật.

4. Trao đổi số liệu ứng dụng: Khi một phiên số liệu đối xứng an toàn được thiết lập, các số liệu đã được mật mã hoá có thể được trao đổi giữa Client và Server.

SSL có thể được sử dụng bởi nhiều Client vô tuyến mạnh hơn gồm có máy tính xách tay, các máy tính cá nhân bỏ túi. Nếu địa chỉ URL của họ bắt đầu với https:// hoặc đơn giản hơn chỉ là http:// thì có thể nói rằng người đó đang sử dụng SSL.

Mật mã hoá số liệu trong phạm vi giao thức SSL hiệu quả hơn việc mật mã hoá chính số liệu đó và gửi nó qua HTTP. Trong phạm vi giao thức SSL số liệu được mật mã hoá ở mức một gói và được giải mật mã hoá ở mức một gói sau khi nó đi đến đích và được kiểm tra nhanh chóng tính toàn vẹn số liệu được gửi.

2.4.2 An ninh lớp truyền tải (TLS - Transport Layer Security)

An ninh lớp truyền tải TLS là thế hệ kế tiếp của SSL, Nó bao gồm hai lớp. Lớp dưới là giao thức bản ghi TLS (TLS Record protocol), giao thức này được đặt lên phía trên một giao thức truyền tải tin cậy như TCP chẳng hạn. Hai đặc điểm chính của giao thức bản ghi là các kết nối riêng và tin cậy. Lớp cao hơn là giao thức bắt tay TLS (TLS

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 23/05/2023