Thử nghiệm xây dựng hệ thống cung cấp và quản lý chứng chỉ số

7 12 0
Thử nghiệm xây dựng hệ thống cung cấp và quản lý chứng chỉ số

Đang tải... (xem toàn văn)

Thông tin tài liệu

Tạp chí Khoa học ĐHQGHN, Khoa học Tự nhiên Công nghệ 24 (2008) 63-69 Thử nghiệm xây dựng hệ thống cung cấp quản lý chứng số Trịnh Nhật Tiến1,*, Trương Thị Thu Hiền1, Vũ Văn Triệu2, ðào Ngọc Phong3 Khoa Công nghệ Thông tin, Trường ðại học Công nghệ, ðHQGHN, 144 Xuân Thủy, Hà Nội, Việt Nam Trung tâm dịch vụ giá trị gia tăng, Láng Hạ, Hà Nội, Việt Nam Sở thông tin Viễn thông Hà Nội, 185 Giảng Võ, Hà Nội, Việt Nam Nhận ngày tháng năm 2007 Tóm tắt Nhu cầu trao đổi thơng tin mạng máy tính ngày gia tăng kéo theo yêu cầu cấp thiết bảo đảm an tồn truyền tin mạng Ví dụ hai người từ xa khơng nhìn thấy nhau, khơng nghe giọng nói nhau, trao đổi thơng tin mạng máy tính cơng khai (thoả thuận, tốn hợp đồng, ký kết hợp tác, thi vấn ñáp, …) mà yên tâm rằng: họ làm việc với đối tác mình, người thứ ba “khó” thể biết họ làm việc Một cách để giải tốn xây dựng Hạ tầng sở mật mã khoá cơng khai (PKI – Public Key InfraStucture) Trên có Hệ thống cung cấp quản lý chứng số Báo cáo trình bày thử nghiệm xây dựng hệ thống trên, sử dụng cơng nghệ SSL IAIK Hệ thống ñã ñược dùng số quan, xác nhận có hiệu Từ khóa: PKI, CA, SSL, IAIK Hệ thống cung cấp quản lý chứng số∗ tài liệu “Chữ ký tay” người ta cơng khai cho người biết ñể kiểm tra 1.1 Nhu cầu Hệ thống cung cấp quản lý chứng số “Chữ ký số” dấu hiệu “chữ ký tay” ðó mã hố tài liệu ðể kiểm tra “chữ ký số”, chủ nhân phải thơng báo “khố cơng khai” cho người biết.“Khố cơng khai” cịn dùng để lập mã hệ mã hóa khóa cơng khai nhiều ứng dụng khác 1.1.1 Khái niệm Chứng số Luật giao dịch ñiện tử (trong có “chữ ký số”) Việt nam có hiệu lực từ 3/2006 Theo luật này, “ký” từ xa qua mạng máy tính, khơng phải gặp Nhưng để bảo đảm tính pháp lý “khố cơng khai”, phải có quan thẩm quyền chứng thực chìa khố Hiện quan gọi trung tâm cung cấp quản lý “chứng số” (CA: Certification Authority) [1] Thơng thường để xác thực chủ nhân tài liệu người ta dùng “chữ ký tay” đánh dấu phía _ ∗ Corresponding author Tel.: 84-4-7547064 E-mail: tientn@vnu.edu.vn 63 64 T.N Tiến nnk / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 24 (2008) 63-69 “Chứng số” (CCS) giấy chứng nhận chủ nhân “khóa cơng khai” CCS giống chứng minh thư, dùng giao dịch mạng, nhằm ñảm bảo nhận diện đối tượng giao dịch góp phần bảo ñảm an toàn cho nội dung giao dịch Rõ ràng CCS thành phần quan trọng “giao dịch ñiện tử” 1.1.2 Hệ thống cung cấp quản lý chứng số ðể bảo ñảm cho trung tâm CA hoạt ñộng nhanh thuận lợi, ta phải xây dựng hệ thống cung cấp quản lý chứng số ðó phần mềm hỗ trợ CA thực nhiệm vụ sau: ♦ Xét duyệt ñề nghị cấp “chứng số” 1.2.2 Các thành phần Hệ thống cung cấp quản lý chứng số ♦ Bộ phận cung cấp quản lý chứng số (Certification Authority: CA) ♦ Bộ phận xác thực khách hàng xin cấp chứng số (Registration Authority: RA) RA duyệt u cầu xin cấp chứng số Sau gửi yêu cầu sang phận CA CA có ñáp ứng cụ thể như: cấp mới, gia hạn, thay thế, thu hồi chứng số CA có quyền tạo danh sách thu hồi (CRL), tạo chuỗi chứng thực quản trị người dùng (phân quyền, tạo mới, sửa, xoá) ♦ Quản lý “chứng số” ñã ñược CA cấp, “chứng số” hiệu lực pháp lý, “chứng số” hết hiệu lực pháp lý (các “chứng số” bị thu hồi) Công nghệ SSL ♦ Cung cấp chứng pháp lý xảy tranh chấp “giao dịch ñiện tử” 2.1 Giới thiệu công nghệ SSL (Secure Socket Layer) Hệ thống cung cấp quản lý chứng số phận quan trọng Hạ tầng sở mật mã khố cơng khai (PKI), người ta thực ñược giao dịch ñiện tử an toàn [2,3] SSL Nestcape (1994) cơng nghệ phổ biến bảo đảm an tồn thơng tin Internet SSL bảo vệ thơng tin mật mã, kiểm tra tồn vẹn thông tin, chứng thực,… 1.2 Các thành phần Hệ thống ung cấp quản lý chứng số 1.2.1 Các yêu cầu ñối với Hệ thống cung cấp quản lý chứng số ♦ ðối với khách hàng, hệ thống thực ñược yêu cầu: cấp mới, gia hạn, thay thế, thu hồi, nhận thông tin chứng số, tìm kiếm chứng số, gửi chứng số cho khách hàng SSL có độ an tồn cao “trong suốt” tầng ứng dụng Hiện có khoảng 300.000 địa Internet chấp nhận giao dịch điện tử, gần tất ñịa ñều sử dụng SSL, ñồng thời hầu hết webserver dùng Internet ñều hỗ trợ SSL ♦ Hệ thống hoạt động mơi trường thơng dụng (UNIX, Windows, OS/2…), có giao tiếp đồ họa (GUI) Giao thức SSL đóng vai trị tầng mơ hình TCP/IP mở rộng SSL ñược ñặt tầng ứng dụng (Application Layer) tầng giao vận (Transport Layer) Các giao thức ứng dụng (Application Protocols) dùng SSL thường ñược viết thêm hậu tố "-s:" (ví dụ: https, ftps, ) ♦ Hệ thống phải mở rộng thêm ñược chức mới, hay kết nối ñược với hệ thống khác SSL dùng hệ mã hoá khố đối xứng để mã hố liệu trước truyền tin ðể thoả thuận khố đối xứng hai bên truyền tin, SSL phải T.N Tiến nnk / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Cơng nghệ 24 (2008) 63-69 thực q trình “bắt tay” Có thể chia hoạt động giao thức SSL thành hai tầng: ♦ Tầng 1: SSL Handshake Protocol giao thức SSL khác (SSL subprotocols), cho phép Client Server xác thực lẫn nhau, thoả thuận hệ mã hố khố bí mật trước giao dịch ♦ Tầng 2: SSL Record Protocol (RP) ñược ñặt tầng truyền thông tin cậy (như TCP) SSL RP ñược dùng ñể ñóng gói giao thức tầng cao (gói liệu trước truyền đi) Trước mã hố để truyền đi, gói tin ñược nén ñể tiết kiệm băng thông ñường truyền Một số khả SSL: ♦ SSL giao thức cho phép thiết lập kênh truyền tin an toàn, tin cậy, có xác thực ♦ SSL sử dụng chứng số giao thức thoả thuận khố bí mật chung ♦ SSL sử dụng hệ mã hố đối xứng ñể ñảm bảo yêu cầu tốc ñộ Thông tin trước truyền ñi ñược nén nhằm tiết kiệm tài nguyên ñường truyền ♦ SSL ñược thiết kế ñộc lập với chương trình ứng dụng Nói cách khác, SSL ñược dùng ñể thiết lập kênh truyền tin an toàn “trong suốt” ứng dụng Ví dụ truyền tin client server, liệu mã hố, người dùng cuối khơng có cảm nhận chuyển dạng liệu Do “tính suốt” này, mà gần giao thức hoạt động TCP chạy SSL với chút sửa đổi ♦ SSL có khả tận dụng trạng thái phiên ñã thiết lập, ñể tạo kênh truyền nhanh chóng, giảm thời gian “bắt tay” ♦ SSL thích hợp cho ứng dụng viết ngôn ngữ C C++ 65 2.2 Tạo lập kết nối (bằng Handshake Protocol) 2.2.1 Giao thức “bắt tay” (Handshake Protocol) SSL Handshake Protocol có nhiệm vụ tạo kết nối Client Server Nó thiết lập thông số phiên làm việc SSL Cụ thể: ♦ Client gửi thơng điệp Client_hello tới Server, nội dung gồm có: chứng số Client, hệ mã hố, hàm băm, thuật toán nén, chuỗi byte ngẫu nhiên Client dùng để tạo khố chung, thời gian gửi thơng ñiệp Tất ñược xếp theo thứ tự ưu tiên sử dụng Client ♦ Server gửi thơng điệp Server_hello tới Client, nội dung gồm có: chứng số Server, hệ mã hố, thuật tốn nén, định danh phiên làm việc, chuỗi byte ngẫu nhiên Server dùng để tạo khố chung, thời gian gửi thơng điệp Nếu bên thiếu chứng số khố cơng khai chứng số có chức kiểm tra chữ ký, gửi thơng điệp u cầu chứng số bên Mỗi bên gửi cho đối tác chứng số hay thơng điệp cảnh báo bên yêu cầu ♦ Server thực việc sau: Gửi thơng điệp Server_key_exchange để trao đổi khố với Client Gửi thơng điệp Sever_done để báo Server kết thúc phần trao đổi khố ♦ Client thực việc sau: - Gửi thơng điệp Client_key_exchange để trao đổi khố với Server Client cần tạo khố mật chung với Server, phải dùng thơng tin Server_key_exchange - ðóng gói thơng tin tạo khố chung vào Client_key_exchange gửi cho Server - Gửi thơng điệp finished, thơng báo kết thúc bắt tay - Server Client gửi Change_cipher_spec 66 T.N Tiến nnk / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 24 (2008) 63-69 ñể báo tin cho bên biết gói tin sau bảo vệ (mã hố) khố chung thoả thuận 2.2.2 Trạng thái phiên giao thức “bắt tay lại” (Rehandshake) Khi Client Server “bắt tay” xong, phiên làm việc ñược thiết lập, kênh truyền bảo mật ñược tạo thành, tầng SSL Record protocol ñi vào hoạt ñộng Hãy xem kỹ thuật lưu trữ thông số phiên làm việc, cách “bắt tay lại” (Rehandshake) ñể tạo phiên làm việc a) Trạng thái phiên ðể trình “bắt tay” thực nhanh chóng, sau lần “bắt tay” ñầu tiên, SSL thiết lập lưu trữ trạng thái phiên hoạt ñộng (Session state) trạng thái kết nối, để dùng lại tối đa thơng số thiết lập Thơng tin trạng thái phiên làm việc: - Session identifier: chuỗi byte Server tạo ra, ñể ñịnh danh phiên làm việc - Peer certificate: chứng số ñối tác truyền tin - Compression method: Phương pháp nén liệu trước mã hố truyền - Cipher spec: hệ mã hoá hàm băm quy ước dùng Client Server - Master secret: 48 byte thông tin mật dùng chung Client Server - Is resumable: cờ trạng thái, cho thiết lập hay không phiên làm việc từ phiên thời Thông tin trạng thái kết nối: - Server and Client random: chuỗi byte ngẫu nhiên Client_hello Server hello - Server write MAC secret: chuỗi byte bí mật dùng để tính MAC thơng điệp gửi - Server write key: khố ñể mã hoá liệu trước truyền Server - Client write key: khố để mã hố liệu trước truyền Client - Initialization vector: vector khởi tạo dùng thuật toán mã hoá khối - Sequence number: bên truyền tin có số, để đếm số thơng điệp truyền nhận tin b) Giao thức Rehandshake Khi Client Server cần khởi tạo lại phiên làm việc trước đó, nhân đơi phiên làm việc (thay phải tạo phiên làm việc mới), giao thức Rehandshake thực sau: - Client gửi thơng điệp Client_hello phiên làm việc trước Server tìm Session identifier tương ứng (trong kho lưu trữ) - Nếu tìm Session identifier, Server gửi cho Client: Server_hello với Session identifier Vào thời ñiểm này, Client Server phải gửi cho thơng điệp Change_cipher_spec Trực tiếp xử lý thơng điệp finished, trạng thái phiên trạng thái liên kết tương ứng với session identifier ñược sử dụng lại Việc khởi tạo lại ñược thực xong liệu tầng ứng dụng tiếp tục trao đổi - Nếu khơng tìm ñược Session identifier, Server tạo Session identifier Server Client thực lại ñầy ñủ việc “bắt tay” từ ñầu Sau trạng thái phiên trạng thái liên kết thiết lập, liệu đóng gói, nén, mã hố truyền qua SSL Record protocol Cơng việc chia giai đoạn: - SSL Plaintext: liệu phân thành khối có kích thức nhỏ 214 thêm thông tin loại liệu gửi ñi: change_cipher_spec, alert, handshake, application data Các liệu ñiều khiển ñược ưu tiên gửi ñi trước liệu ứng dụng (application data) T.N Tiến nnk / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 24 (2008) 63-69 - SSL Compressed: liệu ñược nén, theo phương pháp quy ước trạng thái kết nối - SSL Ciphertext: Tính MAC thêm vào gói tin, mã hố tồn gói tin đóng gói, gửi 2.3 ðóng gói truyền liệu (bằng Record Protocol) Giao thức “bản ghi” (Record Protocol-RP) dùng ñể ñóng gói liệu trước truyền ñi: nén liệu để tiết kiệm băng thơng thời gian truyền tin, mã hố gói tin nén để bảo mật Cụ thể giao thức RP thực công việc: - Phân mảnh (Fragmentation): Thơng điệp tầng phân nhỏ thành gói ≤ 214 byte - Nén tin (Compresion): Nén gói tin trên, nhận gói tin nén ≤ 1024 byte - Mã hoá tin nén (Encrypt): Mã hố gói tin nén trên, để bảo mật liệu - Tính mã xác thực (MAC - Message Authentication Code): Tính MAC gói tin nén trên, để bảo tồn liệu 67 Trong thử nghiệm chúng tơi sử dụng IAIKJCE, ñây JCE (The Java Cryptography Extension) kế thừa từ JCA (Java Cryptography Architecture-Kiến trúc mật mã Java) Một số ñặc ñiểm IAIK- JCE: - IAIK-JCE gồm gói chính: package javax.crypto, package javax.crypto.spec, package javax.crypto.interfaces - IAIK-JCE mở rộng công cụ an ninh, tuân theo chuẩn kiến trúc JCA - IAIK-JCE hỗ trợ hầu hết cấu trúc ASN.1 (Abstract Syntax Notation One): BOOLEAN, INTEGER, BITSTRING, OCTETSTRING, NULL, OBJECTIDENTIFIER, ENUMERATED, SEQUENCE, SET, SEQUENCE OF, SET OF, UTCTime, GeneralizedTime, hầu hết kiểu String 3.2 Công nghệ IAIK hỗ trợ chuẩn mật mã + IAIK tiện ích bảo mật (Crypto Toolkit) (được viết ngơn ngữ Java): Cơng nghệ IAIK 3.1 Giới thiệu công nghệ IAIK Giống SSL, công nghệ IAIK (Institute for Applied Information Processing and Communication) dùng ñể xây dựng hệ thống cung cấp quản lý chứng số Nhưng SSL thích hợp cho ứng dụng viết ngôn ngữ C C ++, IAIK lại thích hợp cho ứng dụng viết ngôn ngữ Java [4] + Cung cấp tập API (Application Programming Interface) cho lập trình Crypto + Hỗ trợ lĩnh vực: Hạ tầng mật mã khố cơng khai (Public Key Infrastructure), loại an toàn: Communication, Messaging, XML, Mobile IAIK-JCE hỗ trợ chuẩn PKCS: (Public-Key Cryptography Standards): +PKCS#1: RSA Encryption Standard (Chuẩn mã hoá RSA) +PKCS#3: Diffie Hellman Key Agreement Standard (Chuẩn thoả thuận khố) 68 T.N Tiến nnk / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 24 (2008) 63-69 +PKCS#5: Standard +PKCS#7: SyntaxStandard Password-Based Encryprion Cryptographic Message +PKCS#8: Private-Key Information Syntax Standard +PKCS#9: Selected Attribute Types +PKCS#10: Certification Request Syntax Standard +PKCS#12: Personal Information Exchange Syntax Standard CRL OCSP response chứng thực chứng Kết thử nghiệm ứng dụng Luật giao dịch điện tử Việt Nam có hiệu lực từ 3/2006, trước năm chúng tơi thử nghiệm xây dựng hệ thống cung cấp quản lý chứng số, nhằm đón chờ hội sử dụng + Phân chia thành JCA certificate / crl API Hệ thống ñã ñược dùng thật hệ thống toán tiền lương cơng ty ngân hàng, dùng hệ thống chuyển khoản trực tuyến ngân hàng khác ðó phần kết đề tài nghiên cứu khoa học - cơng nghệ Sở Khoa học- Công nghệ Hà Nội + Kế thừa từ JCA certificate/crl API, tạo chứng số Chúng tơi nghiên cứu ưu nhược điểm công nghệ, cụ thể: + Hỗ trợ X.509 public key certificate (chứng khố cơng khai) IAIK có nhược điểm là: viết Java, nên chương trình mã hóa giải mã chậm Hỗ trợ kiểu sinh số ngẫu nhiên theo chuẩn ANSI X9.17, FIPS PUB 186-2 IAIK hỗ trợ chuẩn chứng số (CCS): + Hỗ trợ X.509 certificate revocation list (CRLs-Danh sách chứng số bị thu hồi) + Hỗ trợ X.509 qualified certificate, X.509 attribute certificate + Cài ñặt X.509 certificate crl extension, private Netscape cert extenion + Cài ñặt qualified, attribute, and OCSP certificate extension + Cài ñặt OCSP (Online certificate status protocol) + Giao thức kiểm tra trạng thái CCS trực tuyến + Hỗ trợ Client Server: tạo, ký, phân tích, kiểm tra OCSP request OCSP response + Cài ñặt OCSP Client Server mở rộng + Hỗ trợ OCSP thông qua giao thức HTTP, gồm tiện ích để tạo OCSP response từ Nhưng lại có tất ưu điểm ngôn ngữ Java ðối với việc phát triển ứng dụng liên quan đến bảo mật ngơn ngữ Java, IAIK lựa chọn hàng đầu SSL có nhược điểm truyền thơng tốc độ chậm so với IAIK Nhưng lại thích hợp cho ứng dụng viết C C++ Hiện số ứng dụng bảo mật truyền tin nước ta, người ta dùng hai công nghệ: SSL hay IAIK, chúng tơi dùng hai để xây dựng hệ thống cung cấp quản lý chứng số, tận dụng mặt mạnh hai Cụ thể là: + Sử dụng IAIK việc tạo chứng số chương trình mã hóa + Sử dụng cơng nghệ SSL việc bảo mật WebServer xác thực người dùng T.N Tiến nnk / Tạp chí Khoa học ĐHQGHN, Khoa học Tự Nhiên Công nghệ 24 (2008) 63-69 Tài liệu tham khảo [1] John Wiley – PKI Security Solutions for the Enterprise, 2003 69 [2] IBM – Deploying a Public Key Infrastructure, 2000 [3] NIST – Introduction to the Federal PKI Infrastructure, 2001 [4] TTTP://JCE.IAIK.TUGRAZ.AT An experiment of building a system providing and administrating digital certificates Trinh Nhat Tien1, Truong Thi Thu Hien1, Vu Van Trieu2, Dao Ngoc Phong3 Faculty of Information Technology, College of Technology, VNU, 144 Xuan Thuy, Hanoi, Vietnam Value Added Service Center, Lang Ha, Hanoi, Vietnam Hanoi Department of Information and Telecomunication, 185 Giang Vo, Hanoi, Vietnam The increasing demand of communicating via Internet has resulted in the imperative need for information security on the Internet For instance, two people of long distance cannot see each other or hear other’s voice, yet, can exchange information via Internet publicly (negotiating, signing contract, taking oral test, etc) feeling self-assured that they are working with their true partners and the third person can hardly know what they are doing One of the methods to solve the above problem is building Public Key Infrastructure, including the System providing and administrating digital certificates The report demonstrates the experiment of building the above system, involving the use of SSL and IAIK technology The system has been applied in several offices and recognized to be effective ... nghị cấp ? ?chứng số? ?? 1.2.2 Các thành phần Hệ thống cung cấp quản lý chứng số ♦ Bộ phận cung cấp quản lý chứng số (Certification Authority: CA) ♦ Bộ phận xác thực khách hàng xin cấp chứng số (Registration... “giao dịch ñiện tử” 1.1.2 Hệ thống cung cấp quản lý chứng số ðể bảo ñảm cho trung tâm CA hoạt ñộng nhanh thuận lợi, ta phải xây dựng hệ thống cung cấp quản lý chứng số ðó phần mềm hỗ trợ CA thực... tạo mới, sửa, xố) ♦ Quản lý ? ?chứng số? ?? ñược CA cấp, ? ?chứng số? ?? hiệu lực pháp lý, ? ?chứng số? ?? hết hiệu lực pháp lý (các ? ?chứng số? ?? bị thu hồi) Công nghệ SSL ♦ Cung cấp chứng pháp lý xảy tranh chấp

Ngày đăng: 18/03/2021, 10:46

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan