Thursday , 14 December 2017
Home » Bài theo kỳ » Một số ứng dụng mã hóa (phần hai)

Một số ứng dụng mã hóa (phần hai)

Phần 1:  Chữ ký số

Phần 2: Secure Socket Layer

Phần 3: Mã hóa tệp, thư mục

Tham khảo thêm bài: Trao đổi khóa công khai

 Tình huống:

+ Khi máy tính Client muốn thanh toán online, ví dụ vào trang của Vietcombank, khi đó gõ địa chỉ trang web của www.vietcombank.com  và dùng thẻ tín dụng để thanh toán.

mohinh_ssl

 

Với protocol HTTP chạy ở port 80, mọi thông tin gửi và nhận trên đường truyền đều ở dạng clear text. Nhưng trên Internet có vô số kẻ xấu, luôn rình rập để sniff các thông tin (capture hòng lấy được user name, password, số credit card bằng các phần mềm như Cain, Wireshark…) ví dụ như hình 1

cain

+ Đồng thời muốn định danh xem Web mà client đang đăng nhập liệu có phải là của Ngân hàng Vietcombank thực sự không hay chỉ là web fake của Hacker thì sao?

                 Để giải quyết các vấn đề trên chúng ta áp dụng mã hóa vào quá trình trao đổi dữ liệu giữa Webserver (của ngân hàng) và trình duyệt (của khách hàng)

 1. SSL(Secure Socket Layer) là gì ?

Giao thức bảo mật – SSL (Secure Sockets Layers) là một giao thức an ninh được sử dụng để bảo mật thông tin trong quá trình truyền dữ liệu trên mạng Internet. Khi thực hiện kết nối bảo mật bởi SSL, người dùng sẽ thấy các trình duyệt chuyển đổi http thành https. 

SSL1

 2. Hoạt động

a) Định danh Webserver này là của ngân hàng Vietcombank thực sự?

Để xem chứng chỉ số của Webserver ta nhấn vào SSL của trình duyệt ta thao tác như hình sau:

thongtinchungchi

 

certificate

 (Khi ngân hàng khi đăng ký chứng chỉ số tại các CA thì đã được các tổ chức này kiểm định, nếu đúng sự thật như khai báo thì CA cấp chứng chỉ này và ngân hàng triển khai cho Webserver)

 Ví dụ như hình thì ta thấy Issued By: Google Internet Authority G2 thì ta có thể tin tưởng vì đó là tổ chức cấp chứng chỉ có uy tín đã xác minh Webserver này.

 (Tất nhiên chúng ta không thể cứ mỗi lần vào Website thanh toán lại phải xác nhận chứng chỉ này của Webserver, mà trình duyệt web sẽ tự động cảnh báo cho chúng ta nếu webserver nào đó làm giả chứng chỉ hoặc là CA chưa có trong trình duyệt, khi đó ta mới cần kiểm tra chính xác thông tin chứng chỉ của Webserver này)

 b.Mã hóa dữ liệu trên đường truyền

Có ba cơ chế phát sinh key đã biết :

– Preshared key : không dùng được trong trường hợp này, vì client và Vietcombank là 2 PC xa lạ.

– Kerberos : càng không được vì client và ngân hàng không ở cùng một domain.

– Certificate Authority (CA) : dường như là tốt, nhưng thật ra là dư. Dư vì nếu dùng certificate, hai bên có thể verify lẫn nhau. ở đây đang chỉ có nhu cầu kiểm tra một chiều – tức chỉ có client đang cần kiểm tra Web-server xem có đúng là Vietcombank không, trước khi dùng key nào đó mã hóa các thông tin nhạy cảm để gởi đi.

 Công ty Netspace đã cung cấp một tiêu chuẩn mã hóa dữ liệu dùng trong trường hợp này. Đó là SSL (Secure Socket Layer). Trong SSL, giả định rằng chỉ cần server có certificate là đủ, client không cần.

Nhưng nếu client không có certificate, làm sao hai bên trao đổi key được ? Quá trình trao đổi key diễn ra trong 6 bước :

B1. Client chủ động phát sinh một “Key”.

B2. Client yêu cầu Webserver gửi certificate của Webserver.

B3. Vì trong trình duyệt đã tích hợp các chứng chỉ Public của các CA, nên dễ dàng giải mã để tìm ra được Public key của Webserver.

B4. Nếu giải mã thành công thì clent đem “Key” mã với “pu”, ra được “Cipher”.

B5. Client gửi “Ciper” cho Webserver.

B6. Webserver dùng private key “qa” của mình để giải mã “Cipher” ra lại “Key”.

B7: Webserver và client mã hóa dữ liệu với Key theo phương pháp đối xứng. (khóa key này được gọi là khóa phiên sẽ kết thúc khi xong phiên làm việc)

so_do_SSL

 Nói cách khác, SSL (Secure Socket Layer) là loại CA đặc biệt, kiểm tra một chiều. Sáu bước vừa trình chỉ để hiểu bản chất vấn đề. Trong thực tế, để chạy được SSL, Web-server chủ cần đi xin sẵn một certificate là đủ. Còn đối với client, gần như là trong suốt, cứ việc gõ https thay vì http hoặc người Administrator có thể cấu hình redirect sẵn trên webserver, client chỉ việc gõ http là vào https

 (Cảm ơn các bạn đã theo dõi)

 

Lượt xem (1244)

About Nguyễn Thanh Sơn

Nguyễn Thanh Sơn
Network Security, Web Design, Computer Science

Xem thêm

Apple cập nhật bản vá lỗ hổng KRACK trong iOS 11.1

Apple đã phát hành bản cập nhật xử lý lỗ hổng KRACK trong giao thức …

Để lại bình luận:

Loading Facebook Comments ...

Leave a Reply

Your email address will not be published. Required fields are marked *