Cơ sở hạ tầng khóa công khai (PKI)

Một phần của tài liệu AN NINH BẢO MẬT TRONG ĐIỆN TOÁN ĐÁM MÂY (Trang 27)

Cơ sở hạ tầng khóa công khai (Public Key Infrastructure) cung cấp một giải pháp cho một số mặt hạn chế của mã hóa khóa đối xứng và bất đối xứng. PKI được sử dụng để mô tả một cấu trúc mà ràng buộc những người sử dụng đến những khóa công khai của họ và dẫn đến một cấu trúc mạnh cho hầu hết những vấn đề quan trọng của kết nối bảo mật: tính bảo mật dữ liệu, tính toàn vẹn dữ liệu, sự xác thực và sự cấp quyền. PKI sẽ cung cấp một cách có khả năng mở rộng của sự xác thực. Việc cung cấp việc cấp quyền đạt được bởi cơ chế riêng biệt nhưng có thể sử dụng thông tin định danh được cung cấp trong PKI.

Tính toàn vẹn dữ liệu

Tính toàn vẹn dữ liệu có thể đạt được bằng cách gắn một mẫu nhị phân với thông điệp được tính toán từ thông điệp mà thay đổi nếu thông điệp đã được thay đổi. Mẫu nhị phân này là một từ nhị phân có kých thước cố định và nhỏ hơn nhiều so với thông điệp thực sự.

Kĩ thuật của việc tính toán những mẫu nhị phân nhỏ từ những mẫu nhị phân lớn hơn được tìm thấy trong những lĩnh vực ứng dụng khác. Chẳng hạn như nó được sử dụng đề kiểm tra tính toàn vẹn của những tập tin. Những từ CRC (Cyclic Redundancy Check)

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

được gắn với những tập tin để sử dụng kiểm tra những lỗi trong nơi lưu trữ hoặc sau khi truyền. Bản thân chức năng được thiết kế để phát hiện những thay đổi được gây ra bởi lỗi. Nhưng nó không bảo đảm phát hiện tất cả lỗi.

Tạo một từ cố định có kích thước nhỏ từ một mô hình nhị phân lớn hơn cũng xuất hiện trong bảng băm (hash table), nơi một số nhị phân lớn để chọn một vị trí trong một bảng, nơi có các mục nhỏ trong bảng hơn là kiểu nhị phân khác nhau về số lượng. Trong ứng dụng cụ thể này, một hàm băm (hash function) được sử dụng. Nếu mục tiêu là lựa chọn các mục trong bảng theo một cách thống nhất hoặc hợp lý với xác suất bằng nhau của việc lựa chọn bất kỳ một vị trí, hàm băm được thiết kế cẩn thận để có được phân bố đồng đều trên tất cả các giá trị với số lượng đầu vào n và số đầu ra m trong đó n <m (m ≠ 1), mỗi số đầu ra nên được tạo ra từ các n / m số. Một hàm băm đơn giản trong trường hợp này có thể là n mod m, nếu cả hai giá trị của n và m được phân bố đồng đều.

Một hàm băm mã hóa có hai mục đích chính

• Làm cho nó không thể tìm thấy thông điệp gốc từ các giá trị băm của thông điệp (để tránh phát hiện ra thông điệp).

• Làm cho nó rất khó có thể tìm thấy hai thông điệp có cùng một giá trị băm (để tránh một thông điệp được thay thế).

Nó phải được thiết kế cẩn thận để đạt được các mục tiêu này.Giá trị băm phải tương đối lớn cho cân nhắc an ninh, thông thường ít nhất là 128 bit. Hàm băm mật mã bao gồm MD5 (Message-Digest 5) được giới thiệu bởi Rivest vào năm 1991, và thuật toán băm bảo mật (SHA-1 và SHA-2) được giới thiệu bởi cơ quan an ninh quốc gia.

• Chữ ký số (digital signatures)

Chữ ký số cung cấp một cách để đạt việc xác thực và tính toàn vẹn dữ liệu. Hàm băm mật mã được sử dụng để tạo một message digest, một “dấu chân” của tin nhắn mà sau đó được mã hóa với khóa bí mật của bên gởi để tạo ra chữ ký số như được trình bày trong

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

hình 2.5. Chữ ký số chỉ có thể được tạo ra bởi bên gởi như bên gởi duy nhất có khóa bí mật. Nó có thể được giải mã bởi một bên nào đó với khóa công khai của bên gởi, nhưng nó không thể lấy được dữ liệu nguyên thủy một cách hoàn toàn từ digest. Như vậy, quá trình là một chiều. Những thay đổi đến dữ liệu sẽ thường thay đổi message digest nhưng xác suất của việc xảy ra đó rất thấp.

Hình 2.5 Chữ ký số

Để kiểm tra chữ ký số, bên nhận có thể làm như sau:

1. Tạo một message digest từ thông điệp sử dụng cùng hàm băm. 2. Mã hóa message digest từ bên gởi với khóa công khai của bên gởi.

3. So sánh hai message digest. Nếu chúng giống nhau thì thông điệp từ bên gởi và không bị thay đổi (với xác suất rất cao).

Quá trình được trình bày trong hình 2.6. Chú ý rằng chữ ký có thể được so sánh với chữ ký của một người nhưng mỗi chữ ký số sẽ phụ thuộc vào thông điệp và nhìn chung sẽ khác. Chữ ký số không duy nhất như chữ ký thực. Nó chỉ không dễ để giả mạo.

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

Hình 2.6 Kiểm tra chữ ký số

Trong hình 2.6, thông điệp thực sự bây giờ không được thể hiện được mã hóa. Trong những trường hợp như vậy, tất cả chúng ta đang cố gắng để thiết lập là xác thực và toàn vẹn dữ liệu, và không bảo mật dữ liệu. Điều này thường có thể là đủ trong một môi trường Grid, nhưng nếu muốn, các dữ liệu chính nó có được mã hóa trong cách thông thường với khóa công khai của bên nhận để đảm bảo rằng chỉ có bên nhận có giải mã nó (với khóa bí mật của bên nhận).

Những chứng thực và nhà cung cấp chứng thực số

Một chữ ký số đơn lẻ không đủ để đảm bảo dữ liệu từ người gửi. Có thể là khóa công khai là giả mạo và vẫn có thể có được khớp chữ ký số. Chứng nhận là một tài liệu số thuộc về người sử dụng, mà xác nhận khóa công khai là thuộc người sử dụng, hoặc tổng quát hơn, xác nhận khóa công khai là thuộc về một thực thể cuối. Các thực thể cuối có thể là một người sử dụng hoặc một tài nguyên tính toán nhưng đến nay chúng ta chỉ đang xem xét người dùng. Chứng nhận chứa tên của chủ, khóa công khai của họ, và các thông tin khác.

Chứng nhận có thể so sánh với giấy phép lái xe hoặc hộ chiếu. Và chỉ trong các trường hợp giấy phép lái xe hoặc hộ chiếu, một cơ quan là cần thiết để tạo ra các chứng

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

nhận trong một cách có thể nhận biết rằng không có được giả mạo một cách dễ dàng. Một cơ quan cấp giấy chứng nhận như vậy được gọi là Certificate Authority (CA) là một bên thứ ba được tin tưởng xác nhận rằng thông tin trong chứng nhận thực sự là chính xác, cụ thể rằng khóa công khai trong thực tế thuộc về thực thể cuối được đặt tên trên chứng nhận. Chứng nhận được ký bởi CA bằng khóa bí mật của họ, mà được xác nhận bằng khóa công khai của CA. Các thành phần, tên, khóa công khai và chữ ký, được minh họa trong Hình 2.7. Chứng nhận thực tế là một tập tin, mà chúng ta sẽ mô tả một cách ngắn gọn.

Hình 2.7 Chứng thực

Chứng nhận X.509 là loại chứng nhận được sử dụng rộng rãi. Nó được định nghĩa bởi ITU (International Telecommunications Union). Phiên bản 1 đã được định nghĩa vào năm 1998. Phiên bản 2 và 3 đã thêm vào một số trường. Định dạng của phiên bản 3 đương trình bày trong hình 2.8. Những tên trong những chứng nhận này tuân thủ qui ước đặt tên của không gian tên X.500 mà cung cấp cho định dạng phân cấp rõ ràng được mô tả với một việc nối lại với nhau những thuộc tính được gọi là tên được phân biệt (distinguished name (DN))

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

Hình 2.8 Định dạng chứng thực X.509

Những thuộc tính sau đây một cách tổng quát có sẵn:

• Quốc gia: C= • Tiểu bang: ST= • Vị trí: L= • Tổ chức: O= • Đơn vị tổ chức: OU= • Tên tổng quát: CN=

Thuộc tính đơn vị tổ chức có thể được sử dụng nhiều lần để mô tả cấu trúc tổ chức phân cấp. Ví dụ, một người dùng có thể được mô tả với tên được phân biệt như sau:

Trong đó:

Tổ chức: O=NCGrid Tổ chức: O=UNCC

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

Đơn vị tổ chức: OU=Department of Computer Science Tên tổng quát: CN=Barry Wilkinson

Hình 2.9 trình bày những hoạt động giữa bên nhận, bên tổ chức ban hành chứng nhận và bên nhận. Bên gởi phải lấy một chứng nhận được ký tử tổ chức ban hành chứng nhận. Sau đó bên gởi có thể gởi thông điệp của họ đến bên nhận với chứng nhận của họ nếu bên nhận chưa có chứng nhận của bên gởi. Bên nhận phải tin tưởng tổ chức ban hành chứng nhận mà ký chứng nhận của bên gởi và giữ khóa công khai của tổ chức ban hành chứng nhận khi mà khóa này cần để kiểm tra chữ ký của tổ chức ban hành chứng nhận trên bảng chứng nhận của bên gởi.

Hình 2.9 Những hoạt động gởi thông điệp giữa bên gởi và bên nhận mà cả hai tin tưởng tổ chức ban hành chứng nhận.

Sử dụng mã hóa khóa công khai cho mỗi giao dịch thông điệp sẽ rất chậm vì quá trình mã hóa và giải mã. Do đó mã hóa khóa công khai và khóa bí mật được sử dụng với nhau một cách tổng quát. Khái niệm cơ bản là sử dụng mã hóa khóa công khai với những chứng nhận và một tổ chức ban hành chứng nhận thiết lập một kết nối được xác thực bảo mật giữa những nhóm và truyền khóa bí mật giữa những nhóm theo cách bảo mật. Sau đó

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

mã hóa khóa bí mật có thể được sử dụng để mã hóa dữ liệu mà nhanh hơn nhiều việc mã hóa khóa công khai.

Có một vài giao thức mạng đã nhúng khóa công khai và/hoặc những thuật toán mã hóa khóa bí mật. Đáng chú ý nhất là giao thức SSL (Secure Socket Layer) mà có thể được thêm trên đình của những giao thức chẳng hạn như http (ví dụ như https). Những giao thức khác như S/MIME (Secure Multipurpose Internet Mail Extensions) cho thư điện tử bảo mật được phát triển bởi RSA Data Security Inc, và SET (Secure Electronic Transaction) cho thương mại điện tử bảo mật được phát triển bởi Visa, MasterCard, IBM và những công ty khác cho những giao dịch thẻ tín dụng bảo mật thông qua Internet.

Nhiều tổ chức ban hành chứng nhận thương mại tồn tại. Những tổ chức đáng chú ý bao gồm VeriSign Inc. và Entrust Technologies Inc. Những trình duyệt Web có sự công nhận gắn bên trong những tổ chức ban hành chứng nhận như vậy cho phép SSL và những kết nối bảo mật khác.

Cơ sở hạ tầng khóa công khai tổng quát có thể được chia ra thành những đơn vị chức năng khác nhau và có thể đảm nhiệm những cấu trúc tổ chức khác nhau. Trong một cấu trúc đơn giản, tổ chức ban hành chứng nhận đơn lẻ thực thi tất cả những chức năng. Trong hình 2.10, có ba thành phần: tổ chức ban hành chứng nhận (certificate authority), tổ chức đăng ký (registration authority) và kho chứng nhận (certificate repository). Kho chứng nhận được sử dụng để lưu trữ danh sách những chứng nhận đã được phát hành và có thể được truy xuất thông qua LDAP (Lightweight Directory Access Protocol). Những chứng nhận này được thu hồi và giữ trong Certificate Revocation List (CRL). Tổ chức đăng ký (RA) thực thi cho tổ chức ban hành chứng nhận một vài chức năng quản lí bao gồm xử lí yêu cầu người dùng, xác nhận định danh của người dùng và nhập thông tin của người dùng vào cơ sở dữ liệu kho chứng nhận. RA có giao diện Web cho người dùng tương tác. Cơ sở hạ tầng khóa công khai có thể đảm nhận cấu trúc tổ chức phân cấp lớn hơn như trong hình 2.11. Hình 2.11 trình bày nhiều tổ chức đăng ký cục bộ mà phục vụ những thực thể cuối (người dùng) và báo coa đên một tổ chức đăng ký.

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

Hình 2.11 Cơ sở hạ tầng khóa công khai tổng quát

Trong một dự án điện toán đám mây, một tổ chức ban hành chứng nhận có thể được thiết lập. Trong thực tế khá dễ dàng để thiết lập một tổ chức ban hành chứng nhận và những chứng nhận cho mục đích cá nhân hoặc cho một dự án nhỏ sử dụng OpenSSL toolkit mà có những lệnh cho việc tạo những tổ chức ban hành chứng nhận (CA – newca) và cho việc tạo ra một yêu cầu để tạo ra một chứng nhận chưa được ký (CA –newreq) và cho tổ chức ban hành chứng nhận ký chứng nhận chưa được ký (CA –sign).

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

Tổ chức ban hành chứng nhận cũng có thể được tổ chức thành một sự phân cấp bắt đầu tử một tổ chức ban hành chứng nhận gốc. Hình 2.12 trình bày một phân cấp hai cấp.

Hình 2.12 Hai cấp của những tổ chức ban hành chứng nhận

Hình 2.11 cũng trình bày tổ chức ban hành chứng nhận chứng nhận chéo với nhau là một cách xử lí nhiều tổ chức ban hành chứng nhận khác. Quá trình này thực thi với những cặp tổ chức ban hành chứng nhận như được mô tả trong hình 2.13 và được sử dụng cho phép những người dùng những chứng nhận được ký bởi tổ chức khác được chấp nhận. Việc chứng nhận chéo yêu cầu một cặp những tổ chức ban hành chứng nhận ký với nhau những chứng nhận.

ĐIỆN TOÁN LƯỚI VÀ ĐÁM MÂY 2014

Hình 2.13 Những tổ chức ban hành chứng nhận được chứng nhận chéo

Một phần của tài liệu AN NINH BẢO MẬT TRONG ĐIỆN TOÁN ĐÁM MÂY (Trang 27)