Quá trình bắt tay giữa Client và Server nhằm thƣơng lƣợng các thuật toán bảo vệ dữ liệu và tạo một số khóa mật mã dùng bởi các thuật toán này.
a. Mật mã khóa công khai (Public Key Crytography):
Để làm giảm bớt khó khăn cho ngƣời quản trị với những cách tiếp cận Khóa dùng chung, ta có thể sử dụng Mật mã Khóa công khai.
- Những khóa không cân đối:
Những cặp khóa không cân đối từng cặp là những khóa (thông thƣờng của độ dài cố định) đƣợc tham chiếu tới nhƣ khóa công khai và khóa riêng tƣ mà có liên quan toán học đến lẫn nhau. Chúng thông thƣờng đƣợc đại diện trong hệ mƣời sáu (hexa) và có những đặc trƣng sau đây:
+ Chỉ có khóa công khai tƣơng ứng mới có thể giải mã dữ liệu mà đƣợc mã hóa với một khóa riêng tƣ.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
+ Chỉ có cặp khóa riêng tƣ tƣơng ứng mới có thể giải mã dữ liệu mà đƣợc mã hóa với một khóa công khai.
+ Có mối quan hệ một-một giữa những khóa.
+ Khóa riêng tƣ đƣợc giữ bí mật, còn khóa công khai thì đƣợc chia sẻ với mọi ngƣời.
+ Đối với sự chứng thực, một ngƣời gửi có thể sử dụng khóa riêng tƣ của riêng mình để mã hóa thông điệp. Thông điệp chỉ có thể đƣợc giải mã với khóa công khai tƣơng ứng.
Ngƣời nhận có thể giải mã thông điệp miễn là có sự truy nhập tới khóa công khai của ngƣời gửi. Vì chỉ có ngƣời gửi mới biết khóa riêng tƣ nên buộc phải mã hóa thông điệp.
+ Đối với truyền thông an toàn, một ngƣời gửi có thể mã hóa nội dung thông báo bằng cách sử dụng kỹ thuật mật mã khóa- công khai. Ngƣời gửi làm điều này bằng cách sử dụng khóa công khai của ngƣời nhận.
Ngƣời nhận sau đó có thể giải mã thông điệp với khóa riêng tƣ tƣơng ứng. Bởi vì ngƣời nhận đã dự định có khóa riêng tƣ nên có thể giải mã thông điệp. Không có bên thứ ba nào khác có thể giải mã thông báo này, bởi vì không ai khác biết khóa riêng tƣ của ngƣời nhận.
Chú ý rằng ngƣời gửi phải sử dụng khóa riêng tƣ để mã hóa thông điệp cho những mục đích chứng thực, trong khi mà ngƣời nhận phải sử dụng khóa công khai để mã hóa thông điệp cho sự truyền thông an toàn. Trong thế giới thực, pha chứng thực đến đầu tiên. Sau khi ngƣời gửi và ngƣời nhận xác nhận lẫn nhau thì họ chuyển tới pha truyền thông an toàn.
Sự mã hóa sử dụng những khóa không cân đối là một tiến trình cƣờng độ cao của CPU. Bởi vậy, khi mà bao gồm rất nhiều dữ liệu, những ngƣời quản lý nói chung sử dụng mật mã khóa công khai để đàm phán một bí mật dùng chung duy nhất trên phiên họp. Họ dùng những ký số khóa cân đối bằng cách sử dụng bí mật dùng chung này cho phần còn lại của phiên họp.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Thuật toán RSA đƣợc đề xuất bởi Rivest, Shamir và Adleman. Gọi p và q là hai số nguyên tố lớn ngẫu nhiên phân biệt. Mô-đun n là tích của hai số nguyên tố này: n = pq. Hàm phi Euler (Euler's totient function) của n cho bởi:
Chọn một số sao cho:
và tính d với:
sử dụng thuật toán Euclid mở rộng . Ở đây, e là số mũ công khai (public exponent) và d là số mũ bí mật (private exponent). Thông thƣờng, ngƣời ta chọn số mũ công khai nhỏ. Giá trị của d và hai số nguyên tố p và q đƣợc giữ bí mật. Việc mã hóa đƣợc thực hiện bằng cách tính:
với M là bản rõ (plaintext) thỏa 0 ≤ M < n. Số C là bản mã (ciphertext) tƣơng ứng của M. Từ C, M đƣợc tính bằng:
Trao đổi các thông điệp bí mật:
Thƣ mục khóa công khai chứa các cặp (e,n) cho mỗi ngƣời dùng. Những ngƣời dùng muốn gởi các thông điệp bí mật đến ngƣời dùng khác sẽ tham khảo thƣ mục này để nhận các tham số này.
Cặp na , nb và ea , eb tƣơng ứng là mô-đun và số mũ công khai cho ngƣời dùng. Ví dụ Alice muốn gửi thông điệp bí mật M cho Bob, Alice thực hiện các bƣớc sau đây:
- Alice xác định tên của Bob trong thƣ mục và nhận số mũ công khai vùng với mô-đun: (eb,nb).
- Alice tính:
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Bob tiếp nhận C.
- Bob sử dụng số mũ bí mật và mô-đun của anh ấy, và tính để thu đƣợc M.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Ký văn bản điện tử
Thuật toán RSA cung cấp một tiến trình để ký văn bản điện tử và kiểm tra chữ ký có xác thực không. Việc ký văn bản điện tử khác với ký văn bản giấy, ở chỗ các văn bản giấy đều dùng một chữ ký. Chữ ký điện tử không thể bất biến, nó là một hàm số của văn bản điện tử khi đƣợc tạo. Sau khi chữ ký (chỉ là một phần nhỏ khác của dữ liệu điện tử) của một văn bản điện tử đƣợc tạo ra, nó đƣợc đính kèm vào văn bản để cho những ai muốn kiểm tra sự xác thực của văn bản và chữ ký.
Giả sử Alice muốn ký một thông điệp, và Bob muốn có bằng chứng rằng thông điệp này đƣợc ký bởi Alice. Trƣớc tiên, Alice thực hiện các bƣớc sau:
- Alice tạo thông điệp M và tính
- Alice làm cho thông điệp M và chữ ký S luôn sẵn sàng để đƣợc xác thực. Bob thực hiện các bƣớc sau để xác thực chữ ký của Alice trên văn bản M: - Bob nhận M và S, xác định tên của Alice trong danh bạ để lấy các thông số
e và n (ea, na)
- Bob tính
Nếu M’ = M thì chữ ký đƣợc xác thực. Nếu không, hoặc thông điệp gốc M
hoặc chữ ký S bị sửa đổi, vì vậy chữ ký không hợp lệ. * Chữ ký số hóa:
Một chữ ký số hóa là một thuộc tính nội dung của thông điệp và ngƣời ký của thông điệp đó. Một chữ ký số hóa phục vụ một mục đích tƣơng tự tới một chữ ký trong thế giới thực nó thực sự là một công cụ để xác nhận một thông điệp hay mẩu dữ liệu nào đó. Những chữ ký số hóa sử dụng một tập hợp của những giải thuật bổ sung một để ký tên và để xác minh.
Đầu tiên, một chức năng hash đƣợc chạy qua nội dung của thông điệp. Rồi kết quả của hash đƣợc thay đổi vào trong một chữ ký số hóa bằng cách sử dụng khóa riêng tƣ của ngƣời ký. Một chữ ký số hóa điển hình đƣợc bổ sung vào thông báo.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Ngƣời nhận xác minh chữ ký bằng việc chạy giải thuật xác minh qua nội dung nguyên bản của thông điệp (loại trừ chính chữ ký) và khóa công khai của ngƣời ký.
Những chữ ký số hóa cung cấp sự chứng thực. (Ngƣời ký phải có khóa riêng tƣ.) Những chữ ký số hóa cũng cung cấp sự toàn vẹn của thông điệp, bởi vì bất kỳ sự thay đổi nào tới nội dung của thông điệp đang vận chuyển đều dẫn đến một sự thất bại của giải thuật xác minh chữ ký.
Tuy nhiên, một chữ ký số hóa không cung cấp sự riêng tƣ bởi chính bản thân nó. Chữ ký đƣợc bổ sung vào thông điệp, mà đƣợc gửi đến văn bản trống và có thể đƣợc nhìn thấy khi đang vận chuyển.
b. Chứng thực và căn cứ chứng thực:
Câu hỏi đặt ra là khóa công khai đƣợc sinh ra nhƣ thế nào tới những ngƣời nhận có khả năng. Những cặp khóa không cân đối thì chắc chắn để bảo trì và định hình. Những chứng thực đƣợc định nghĩa là nhƣ một giải pháp đối với vấn đề phân phối khóa công khai.
Tại thời điểm của sự phát sinh khóa, khóa công khai của thực thể (gọi là subject) đƣợc gửi tới căn cứ chứng thực (CA). CA xác minh lai lịch của requestor (có khả năng là sự can thiệp bằng tay) và phát hành một chứng thực mà khẳng định lai lịch của requestor và khóa công khai của nó.
Điều này chứng thực rằng những vấn đề của CA bao gồm thông tin về căn cƣớc của subject, trong số những thứ khác, và đƣợc ký bởi CA.
Mỗi thiết bị trong hệ thống đƣợc chuẩn bị với khóa công khai của CA (Nếu có nhiều CA, khóa công khai của mỗi nhu cầu đƣợc chuẩn bị trên mỗi thiết bị) và tin cậy những chứng thực đã đƣợc phát hành bởi CA.
Tại sự bắt đầu của việc thiết lập phiên họp, subject giới thiệu chứng thực của nó tới sự tƣơng đƣơng của nó. Sự tƣơng đƣơng chạy một giải thuật xác minh chữ ký để xác minh rằng một CA tin cậy đã ra hiệu chứng thực. Nếu chữ ký đƣợc làm cho có hiệu lực, khóa công khai và căn cƣớc của subject (gọi là subject name) đƣợc lƣu trữ cục bộ.
Nói chung, khóa công khai của CA đã tin cậy đƣợc chuẩn bị trên những thiết bị. Mọi thực thể khác đƣợc xác nhận bằng phƣơng pháp chứng thực và không yêu
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
cầu chuẩn bị bằng tay. Sau những chứng thực (mà chứa đựng những khóa công khai) đƣợc truyền lan, sự truyền thông giữa những thực thể trong hệ thống có thể đƣợc giữ an toàn.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2.2. Đảm bảo an ninh cho dữ liệu thoại sử dụng SRTP (Secure Real-time Transport Protocol):
Giao thức vận chuyển thời gian thực an toàn (SRTP), đƣợc định nghĩa ở RFC 3711, là một profile của giao thức vận chuyển thời gian thực (RTP). SRTP cung cấp sự toàn vẹn, tính xác thực, và sự bảo vệ riêng tƣ tới lƣu thông RTP và tới điều khiển lƣu thông cho RTP, RTCP (giao thức điều khiển vận chuyển thời gian thực) SRTP không chỉ rõ những khóa đƣợc trao đổi giữa ngƣời gửi và ngƣời nhận nhƣ thế nào. Những hệ thống quản lý khóa thì nằm bên ngoài phạm vi của SRTP. Trong trƣờng hợp của VoIP, giao thức báo hiệu có thể trao đổi những khóa trƣớc khi SRTP thực hiện. Nếu bạn sử dụng giao thức báo hiệu cho sự trao đổi khóa, bạn cần bảo mật nó bằng cách sử dụng TLS, ngƣợc lại, những khóa mà SRTP sử dụng có thể bị phơi bày ra cho hackers.