Professional Documents
Culture Documents
Cài đặt PKI với OpenSSL PDF
Cài đặt PKI với OpenSSL PDF
Thao tác thực tế với public key encryption, public key cerfiticae, cerfiticate authority và chức
năng của hạ tầng khóa công khai (PKI)
2.Tổng quan
-Kiểm tra server và quan sát certificate và PKI làm việc như thế nào
3. Chuẩn bị
Dùng hai máy ảo Linux và windows 7. Máy ảo Windows chỉ dùng để kiểm thử cấu hình.
Trên thực tế CA và HTTPS server sẽ chạy trên hai máy khác nhau. Để đơn giản ở đây chỉ dùng
một máy Linux cho cả hai.
Sẽ dùng lệnh và thư viện OpenSSL. Cần cài đặt OpenSSl vào máy Linux
Download tập tin openssl-1.0.1e.tar.gz (hoặc bản mới nhất) từ trang www.openssl.org/source/
./config
make
make test
make install
4. Cài đặt CA
2
Một CA là một thực thể được tin cậy, phát hành các chứng chỉ số DC ( Digital Cerfiticate). Một
DC chứng nhận sự sở hữu một public key. Một số CA thương mại được xem như các root CA, ví
dụ VeriSign, GlobalSign,…
Trong khi một DC được ký bởi một CA, chứng chỉ của một root CA là tự ký. Các chứng chỉ của
các root CA thường được nạp trước vào hầu hết các hệ điều hành, các trình duyệt web cũng như
các ứng dụng dựa vào PKI. Các chứng chỉ này được tín nhiệm vô điều kiện.
Một số lệnh OpenSSL như ca, req và x509 dựa trên một file cấu hình. Mặc định file cấu hình
(openssl.cnf) được đặt tại thư mục /ect/pki/tls
Tạo thư mục labpki trong thư mục home. chép file cấu hình vào thư mục labpki để thực hiện mọi
thứ trong thư mục này.
Hiệu chỉnh file cấu hình để phù hợp với cài đặt riêng. Có thể giữ hầu hết các cài đặt mặc đinh
trong file này. Tuy nhiên, cần thay đổi trong phần [ca]. Tạo thư mục phụ như trong phần
[CA_default). Tạo file rổng indext.txt (touch index.txt), đối với file serial ghi một số bất kỳ
ví dụ
openssl req –new –x509 –keyout ca.key –out ca.crt –config openssl.cnf
Chọn mật khẩu và ghi nhớ để dùng sau này mỗi khi ký một chứng chỉ cho client.
Điền các thông tin cần thiết, các thông tin này sẽ được bao gồm trong chứng chỉ.
Kết quả lệnh trên sẽ tạo ra hai file: ca.key chứa khóa riêng của CA và ca.crt chứa chứng chỉ khóa
công khai (public key certificate)
Bước 3. Phát hành các chứng chỉ
Khi dùng OpenSSL cần phải thực hiện ba tác vụ sau để phát hành một chứng chỉ cho client
-Tạo cặp khóa cho client
-Đệ trình yêu cầu Certificate Signing Request
-Tạo/ký chứng chỉ cho public key
Trong bước này một chứng chỉ sẽ cấp cho công ty ( fitptitsaigon.com) dùng root CA đã tạo ở
trên.
chọn mật khẩu và ghi nhớ lại mật khẩu để dùng sau.
khóa được chứa trong file server.key
Đệ trình một yêu cầu cerfiticate signing request
openssl req –new –key server.key –out server.csr –config openssl.cnf
(dùng fitptitsaigon.com như là tên chung của CSR)
CSR cần được gửi đến CA để yêu cầu CA phát sinh một chứng chỉ cho CSR.
openssl ca –in server.csr –out server.crt –cert ca.crt –keyfile ca.key –config openssl.cnf
Nếu phát sinh thành công thì chứng chỉ sẽ được chứa trong tập tin server.crt
Nếu OpenSSL từ chối phát sinh chứng chỉ, rất có thể tên trong CSR không trùng với tên
trong CA. Các luật so trùng được chỉ định trong file cấu hình dưới phần [policy_mach].
Trong trường hợp này, hãy thay đổi tên trong CSR để phù hợp với chính sách hoặc có thể
4
thay đổi chính sách. File cấu hình cũng có thể chấp nhận chính sách khác (policy_anything),
không có giới hạn. Có thể thay
cp server.key server.pem
cat server.crt >> server.pem
Mở web server đơn giản (HTTPS server) với chứng chỉ server.pem bằng lệnh
Truy cập trang web trên từ máy windows 7 dùng IE hoặc Chrome
Bước 5. Thực hiện kiểm tra tính hiệu quả giữa RSA và AES
openssl speed rsa
openssl speed aes
Tham khảo trang man speed để tra cứu thông tin
Bước 6. Chữ ký số
Tham khảo man page của OpenSSL để thực hành phát sinh chữ ký số.