Lịch sử phát triển PKI
Vào năm 1976, việc công bố nghiên cứu về trao đổi khóa an toàn và thuật toán mật mã hóa khóa công khai của Diffie, Hellman, Rivest, Shamir và Adleman đã cách mạng hóa phương thức trao đổi thông tin mật Sự phát triển của các hệ thống truyền thông điện tử tốc độ cao, như Internet, đã làm gia tăng nhu cầu về việc bảo mật thông tin Đồng thời, yêu cầu xác định danh tính của những người tham gia trong quá trình truyền tải thông tin cũng trở nên cần thiết, dẫn đến việc phát triển mạnh mẽ ý tưởng gắn định dạng người dùng với chứng thực được bảo vệ bằng các kỹ thuật mật mã.
Nhiều giao thức mới sử dụng kỹ thuật mật mã đã được phát triển để đáp ứng nhu cầu thông tin an toàn và xác thực người dùng, đặc biệt với sự bùng nổ của World Wide Web Nhu cầu ứng dụng trong thương mại điện tử và truy cập cơ sở dữ liệu qua trình duyệt web đã thu hút sự quan tâm của các nhà phát triển Taher ElGamal cùng nhóm tại Netscape đã sáng tạo ra giao thức SSL (https) với các tính năng như thiết lập khóa và xác thực máy chủ Sau đó, các hệ thống PKI được thiết lập nhằm đảm bảo truyền thông an toàn.
Các doanh nghiệp đang hướng tới một thị trường PKI đầy hứa hẹn, đã thành lập nhiều công ty và dự án mới, đồng thời vận động chính phủ xây dựng khung pháp lý cho lĩnh vực này American Bar Association đã công bố nghiên cứu về các vấn đề pháp lý liên quan đến PKI, dẫn đến việc một số tiểu bang của Hoa Kỳ, đặc biệt là Utah vào năm 1995, thông qua các luật và quy định đầu tiên Các tổ chức bảo vệ quyền lợi người tiêu dùng đã nêu ra những lo ngại về quyền riêng tư và trách nhiệm pháp lý Đến năm 1999, Hoa Kỳ đã ban hành Luật giao dịch điện tử đồng nhất (UETA), trong khi CHLB Đức có Luật chữ ký số vào năm 1997 và Singapore ban hành Luật giao dịch điện tử vào năm 1998.
Mặc dù các luật và quy định liên quan đến PKI đã được thông qua, nhưng sự không đồng nhất trên toàn cầu cùng với những thách thức về kỹ thuật và vận hành đã làm cho việc triển khai PKI trở nên phức tạp hơn so với mong đợi ban đầu.
Vào đầu thế kỷ 21, nhận thức về sự phức tạp trong việc thực hiện chính xác các kỹ thuật mật mã cũng như các quy trình và giao thức ngày càng gia tăng, cho thấy rằng các tiêu chuẩn hiện tại chưa đáp ứng đầy đủ các yêu cầu đặt ra.
Thị trường PKI đã phát triển nhưng chưa đạt được quy mô kỳ vọng từ giữa thập kỷ 1990 PKI vẫn chưa giải quyết được nhiều vấn đề mong đợi, và những phiên bản thành công nhất cho đến nay chủ yếu đến từ các chính phủ.
Mục tiêu và chức năng của PKI
PKI cho phép những người tham gia xác thực lẫn nhau và sử dụng thông tin từ
Hệ thống PKI bao gồm phần mềm máy khách, phần mềm máy chủ, phần cứng như thẻ thông minh và các quy trình hoạt động liên quan Người sử dụng có thể ký các văn bản điện tử bằng khóa bí mật của mình, trong khi mọi người có thể xác minh bằng khóa công khai PKI đảm bảo các giao dịch điện tử diễn ra với tính bí mật, toàn vẹn và xác thực lẫn nhau mà không cần trao đổi thông tin mật trước đó.
Một số ứng dụng của PKI
Mục tiêu chính của PKI là cung cấp khóa công khai và xác định mối liên hệ giữa khóa và định dạng người dùng, từ đó cho phép người dùng áp dụng trong nhiều ứng dụng khác nhau.
Mã hóa Email hoặc xác thực người gửi Email (OpenPGP or S/MIME)
Mã hóa hoặc xác thực văn bản (Các tiêu chuẩn Chữ ký XML; hoặc mã hóa XML khi văn bản được thể hiện dưới dạng XML)
Xác thực người dùng ứng dụng (Đăng nhập bằng thẻ thông minh, nhận thực người dùng trong SSL)
Các giao thức truyền thông an toàn dùng kỹ thuật Bootstrapping (IKE, SSL): trao đổi khóa bằng khóa bất đối xứng, còn mã hóa bằng khóa đối xứng.
CÁC THÀNH PHẦN KỸ THUẬT CƠ BẢN TRONG PKI
Mã hóa
Mã hóa là công cụ thiết yếu để đảm bảo an toàn dữ liệu, bắt nguồn từ những phương pháp bảo vệ thông tin bí mật trong thời kỳ sơ khai Mặc dù ban đầu các phương pháp này mang tính nghệ thuật hơn khoa học, nhưng mật mã học đã trở thành một phần quan trọng trong quân đội qua các cuộc chiến tranh Các hệ mã cổ điển như Caeser và Playfair đã góp phần đáng kể vào sự phát triển của mật mã học hiện đại.
Ngày nay, sự phát triển của toán học đã mở ra một chương mới cho lịch sử mật mã học, với sự ra đời của các hệ mã hóa đối xứng không chỉ bổ sung mà còn làm nổi bật vai trò của các hệ mật mã cổ điển Kể từ năm 1976, khi hệ mật mã phi đối xứng (mật mã khóa công khai) được giới thiệu, nhiều khái niệm mới như chữ ký số, hàm băm, mã đại diện và chứng chỉ số đã xuất hiện Mật mã học hiện không chỉ giới hạn trong lĩnh vực quân sự mà còn được áp dụng rộng rãi trong các lĩnh vực kinh tế xã hội, bao gồm giao dịch hành chính và thương mại điện tử.
Hiện nay, có nhiều phương pháp mã hóa với ưu và nhược điểm riêng, phù hợp với từng yêu cầu của môi trường ứng dụng Một số môi trường đòi hỏi an toàn tuyệt đối, bất kể thời gian và chi phí, trong khi những môi trường khác cần một giải pháp cân bằng giữa bảo mật và chi phí.
Bản rõ (plaintext), ký hiệu là P, là các thông điệp cần được bảo vệ an toàn và có thể là các dãy bít, tệp tin, hoặc âm thanh số hóa Bản rõ được sử dụng để lưu trữ hoặc truyền đạt thông tin và luôn cần được mã hóa Quá trình mã hóa (encryption) chuyển đổi thông điệp thành bản mã (ciphertext), ký hiệu là C, trong khi quá trình giải mã (decryption) phục hồi bản rõ từ bản mã Để đảm bảo an toàn cho thông tin lưu trữ trên máy tính và thông tin truyền tải qua mạng, việc "Che Giấu" thông tin là cần thiết.
“Che” thông tin (dữ liệu) hay “Mã hóa ” thông tin là thay đổi hình dạng thông tin gốc, và người khác “khó” nhận ra
“Giấu” thông tin (dữ liệu) là cất giấu thông tin trong bản tin khác, và người khác cũng “khó” nhận ra
Trong phần này chúng ta bàn về “Mã hóa” thông tin
Hệ mật mã là tập hợp các thuật toán, các khóa nhằm che dấu thông tin tin cũng nhƣ làm rõ nó
Hệ mật mã đƣợc định nghĩa là bộ năm ( P,C,K,E,D), trong đó:
- P là tập hữu hạn các bản rõ có thể
- C là tập hữu hạn các bản mã có thể
- K là tập hữu hạn khóa có thể
- E là tập các hàm lập mã
- D là tập các hàm giải mã Với mỗi k K có một hàm lập mã E kE (E k:P
C) và một hàm giải mã D k D (D k : C P) sao cho D k (E k (x)) = x , x P
Với khóa lập mã kl thuộc K, hàm lập mã ekl thuộc E cho phép chuyển đổi bản rõ P thành bản mã C, trong khi khóa giải mã kg thuộc K và hàm giải mã dkg thuộc D giúp phục hồi bản rõ từ bản mã Điều này được thể hiện qua công thức dkg(ekl(x)) = x, với x là bản rõ và ekl(x) là bản mã.
Trên đường truyền tin, thông tin được mã hoá để bảo đảm bí mật:
Người gửi G e kl (T) Người nhận N (có khóa lập mã kl) (có khóa giải mã kg)
Tin tặc có thể trộm bản mã e kl (T)
Người gửi G mã hóa bản tin T bằng khóa lập mã kl để đảm bảo bí mật, tạo ra bản mã ekl(T) trước khi gửi cho người nhận N.
Tin tặc có thể trộm bản mã e kl (T), nhƣng cũng “khó” hiểu đƣợc bản tin gốc T nếu không có khoá giải mã kg
Người N nhận được bản mã, họ dùng khoá giải mã kg, để giải mã ekl (T), sẽ nhận đƣợc bản tin gốc T = dkg(ekl (T))
Hiện nay, hệ mật mã được chia thành hai loại chính: hệ mật mã đối xứng và hệ mật mã bất đối xứng, còn được gọi là hệ mật mã khóa công khai.
Mật mã đối xứng sử dụng khóa lập mã và khóa giải mã giống nhau, điều này có nghĩa là nếu biết một khóa, dễ dàng tính được khóa còn lại Do đó, việc giữ bí mật cho cả hai khóa là rất quan trọng Một số hệ mật mã đối xứng phổ biến bao gồm Caesar, IDEA, DES và Triple DES.
Mật mã khóa công khai sử dụng hai loại khóa khác nhau: khóa lập mã và khóa giải mã, trong đó khóa lập mã (kl) không giống khóa giải mã (kg), và việc biết khóa lập mã không giúp tính toán khóa giải mã Các hệ thống mật mã khóa công khai phổ biến bao gồm RSA, Elgamal và ECC.
1.2.1.1 Hệ mã hóa khóa đối xứng
Mã hóa khóa đối xứng là hệ thống mã hóa sử dụng cùng một khóa cho cả quá trình mã hóa và giải mã Điều này có nghĩa là nếu bạn biết khóa mã hóa, bạn có thể dễ dàng tính toán khóa giải mã Đặc biệt, một số hệ thống mã hóa loại này sử dụng khóa lập mã và khóa giải mã giống hệt nhau.
Hệ mã hóa khóa đối xứng, hay còn gọi là hệ mã hóa khóa bí mật, yêu cầu người gửi và người nhận phải thỏa thuận về thuật toán mã hóa và một khóa chung để thực hiện lập mã hoặc giải mã Khóa này cần được giữ bí mật, và độ an toàn của hệ thống phụ thuộc vào tính bảo mật của khóa.
Khóa bí mật được sử dụng chung giữa người gửi và người nhận cần được tạo ra bởi một bên, và sau đó phải được chuyển giao qua một kênh bảo mật Ngoài ra, có thể sử dụng một bên thứ ba đáng tin cậy để sinh khóa và phân phối nó một cách an toàn cho cả hai bên.
1 Các đặc điểm của Hệ mã hóa khóa đối xứng
- Tốc độ mã hóa và giải mã nhanh
- Sử dụng đơn giản: chỉ cần dùng một khoá cho cả 2 bước mã và giải mã
Mật mã khoá đối xứng, đặc biệt là các mã máy điện tử và vi điện tử hiện đại, đã được đánh giá cao về tính an toàn và đã trải qua nhiều thử thách thực tiễn Hiện nay, chúng được ứng dụng rộng rãi trong các lĩnh vực quân sự, ngoại giao, an ninh quốc gia và kinh tế.
Khóa bí mật dùng chung giữa người gửi và người nhận Đầu vào bản rõ
Bản mã đƣợc truyền đi Thuật toán mã hóa Đầu ra bản rõ
Khóa bí mật dùng chung giữa người gửi và người nhận
Hình 1: Mô hình mã hóa đối xứng
- Khi hai người (lập mã, giải mã) cùng biết “chung” một bí mật, thì khó giữ được bí mật !
Vấn đề về thỏa thuận khóa và quản lý khóa chung là một thách thức phức tạp, đòi hỏi sự đồng thuận liên tục giữa người gửi và người nhận Việc thay đổi khóa gặp nhiều khó khăn và có nguy cơ bị lộ Do đó, khóa chung cần được truyền đạt qua các kênh an toàn để đảm bảo tính bảo mật.
Việc áp dụng mật mã khoá đối xứng cho chữ ký số và xác thực người dùng, cũng như bảo vệ bản quyền số, gặp nhiều khó khăn trong quá trình triển khai.
2 Nơi sử dụng Hệ mã hóa đối xứng
Ký số
Trong thỏa thuận thông thường, hai bên xác nhận sự đồng ý bằng cách ký tay vào cuối văn bản Để đảm bảo tính xác thực, chữ ký của mỗi người phải là duy nhất và không thể bị giả mạo Việc sao chép chữ ký trên giấy thường dễ dàng bị phát hiện, vì bản sao sẽ có sự khác biệt rõ rệt so với bản gốc.
Các giao dịch hợp tác trực tuyến yêu cầu hai đối tác trên các nút mạng ký vào Bản thỏa thuận Tuy nhiên, văn bản được truyền qua mạng dưới dạng "số" (chỉ sử dụng các chữ số 0 và 1), được gọi là "văn bản số" (điện tử) Vì vậy, chữ ký trên "văn bản số" có sự khác biệt so với chữ ký trên văn bản giấy thông thường.
Việc giả mạo và sao chép “văn bản số” trở nên dễ dàng, khiến việc phân biệt bản gốc và bản sao trở nên khó khăn Do đó, “chữ ký” ở cuối “văn bản số” không thể đảm bảo trách nhiệm cho toàn bộ nội dung Để thể hiện trách nhiệm đối với “văn bản số”, cần có “chữ ký” được ký trên từng bit của văn bản Bản sao của “chữ ký số” có giá trị pháp lý.
Chữ ký thường được xác thực bằng cách so sánh với chữ ký gốc, như trong trường hợp ai đó ký một tấm séc để mua hàng; người bán sẽ đối chiếu chữ ký trên tấm séc với chữ ký gốc trên thẻ tín dụng Tuy nhiên, phương pháp này không hoàn toàn an toàn vì dễ bị giả mạo.
Chữ ký số có thể được xác minh chính xác thông qua thuật toán kiểm tra công khai, cho phép bất kỳ ai cũng có thể thực hiện việc này Việc sử dụng một sơ đồ chữ ký an toàn sẽ giúp ngăn chặn khả năng giả mạo hiệu quả.
Thuật toán mã hóa khóa công khai
Thuật toán giải mã khóa công khai
K hó a c ôn g k ha i củ a n gư ờ i g ử i
Chữ ký số được ký trên từng bit của văn bản số, do đó độ dài của nó tối thiểu bằng với văn bản cần ký, dẫn đến việc tiêu tốn bộ nhớ và thời gian ký cũng như truyền tải Thay vì ký trực tiếp trên văn bản số dài, người ta thường ký trên đại diện (Digest) của nó Để tạo đại diện, cần sử dụng hàm băm, qua đó một thông điệp sẽ được chuyển đổi thành một chuỗi bit ngắn hơn với độ dài cố định, gọi là đại diện Mỗi thông điệp qua hàm băm chỉ tạo ra một đại diện duy nhất, và rất khó để tìm hai thông điệp khác nhau có cùng một đại diện tương ứng với cùng một hàm băm.
Hàm băm kết hợp với chữ ký số tạo ra chữ ký điện tử an toàn, không thể chỉnh sửa và giúp kiểm tra tính toàn vẹn của thông điệp.
1) Người gửi: Tạo ra “chữ ký số”
Đƣa thông điệp cần gửi qua hàm băm tạo ra “Đại diện”
Mã hoá “Đại diện” bằng khoá riêng (private) của người gửi để tạo ra “chữ ký số”
Mã hoá thông điệp và chữ ký bằng khoá công khai (public) của người nhận, gửi đi
Băm Đại diện thông điệp
Hình 4: Tạo đại diện thông điệp và ký số
2) Người nhận: Định danh người ký, kiểm tra tính toàn vẹn của thông điệp
Giải mã thông điệp bằng khoá riêng của mình, giải mã chữ ký bằng khoá công khai của người gửi để lấy “Đại diện” ra
Cho thông điệp qua hàm băm để tạo ra “Đại diện” mới
So sánh “Đại diện” mới với “Đại diện” nhận đƣợc
Nếu chúng giống nhau thì người nhận có thể vừa định danh được người gửi, vừa kiểm tra tính toàn vẹn của thông điệp
Hình 5: Xác thực chữ ký số
CÁC CÔNG NGHỆ DÙNG TRONG XÂY DỰNG PKI
CÔNG NGHỆ OPENCA
OpenCA là một dự án lớn thuộc OpenCA Group, nhằm xây dựng một hệ thống PKI hoàn chỉnh và chuyên nghiệp Dự án này đã được phát triển liên tục từ năm 1999 và từ năm 2001, OpenCA đã được áp dụng cho các tổ chức vừa và lớn.
OpenCA sử dụng giao diện web, hỗ trợ hầu hết các web Browser chính, hỗ trợ sản phẩm mã nguồn mở
Các Module chương trình trong OpenCA
Giao tiếp công cộng là giao diện web cho phép người sử dụng truy cập qua Internet, nơi mà người dùng có thể dễ dàng đăng ký xin cấp chứng chỉ trực tiếp thông qua Module này.
Giao tiếp LDAP cho phép truy cập vào danh bạ các khoá công khai, giúp người dùng lấy khoá công khai từ Module này để mã hoá tài liệu Việc mã hoá diễn ra trước khi tài liệu được gửi đến đơn vị sử dụng openCA.
- Giao tiếp RA: Đơn vị điều hành RA sử dụng Module này để cập nhật các thông tin cá nhân của người xin cấp chứng chỉ
Giao tiếp OCSP là một module quan trọng giúp kiểm tra tính hợp lệ của chứng chỉ số So với việc công bố danh sách thu hồi chứng chỉ (CRL), OCSP mang lại tính năng vượt trội hơn, cho phép xác minh nhanh chóng và hiệu quả trạng thái chứng chỉ.
Giao tiếp CA sử dụng một module ký số riêng biệt, cho phép CA hoạt động theo nguyên tắc an ninh tách biệt khỏi mạng công cộng, nhằm bảo vệ tối đa khóa bí mật Nhờ đó, openCA trở thành giải pháp an toàn hơn so với các phần mềm CA khác hiện có trên thị trường.
Ngoài tính năng thiết yếu của PKI, OpenCA có nhiều tính năng ƣu việt khác nhƣ:
- Đăng nhập bằng chứng chỉ
- Hệ thống quản lý mềm dẻo
- Sử dụng đƣợc các tính năng của X.509 mở rộng
- OpenCA là phần mềm mã nguồn mở miễn phí, có tài liệu chi tiết đầy đủ
OpenCA được thiết kế cho hạ tầng phân tán, cho phép điều khiển cả CA offline và RA online, đồng thời hỗ trợ xây dựng cấu trúc thứ bậc đa mức Đây không chỉ là giải pháp cho các nghiên cứu nhỏ, mà còn tối ưu cho các tổ chức lớn như trường đại học và công ty lớn.
OpenCA được thiết kế cho hạ tầng phân tán, cho phép điều khiển một CA offline và một RA online, từ đó xây dựng cấu trúc thứ bậc đa mức Đây không phải là giải pháp nhỏ cho các nghiên cứu vừa và nhỏ, mà hỗ trợ tối đa cho các tổ chức lớn như trường đại học và công ty lớn.
Khi nghiên cứu về công nghệ OpenCA, chúng ta sẽ xem xét 4 phần chính:
- Thiết kế để cài đặt một hạ tầng tố
- Các hoạt động được thực hiện một cách offline bởi người quản trị
- Các thao tác phía người dùng
- Các mô tả kỹ thuật của OpenCA
Kiến trúc cơ bản của PKI X.509 được xây dựng theo cấu trúc thứ bậc, dẫn đến việc hình thành cấu trúc cây cho các cơ sở dữ liệu, điều này rất hữu ích khi thiết lập kiến trúc PKI phân tán.
Hình 6: Cái nhìn hướng CSDL của PKI
Trao đổi dữ liệu giữa các cơ sở dữ liệu riêng biệt có thể được tự động hóa thông qua hệ thống cơ sở dữ liệu phân tán Để quản lý và trao đổi thông tin hiệu quả, cần có công nghệ hỗ trợ cho việc quản lý các Node trong hệ thống phân cấp, đặc biệt khi sử dụng cơ sở dữ liệu phân tán như một CA offline.
Thiết kế của một OpenCA nhƣ sau:
Hình 7: Cái nhìn dữ liệu logic
Mỗi máy chủ trong hạ tầng của trung tâm tin cậy thường có cơ sở dữ liệu riêng để đảm bảo an ninh Cấu trúc thứ bậc đóng vai trò là xương sống của trung tâm tin cậy.
Sau khi tìm hiểu về hạ tầng cơ bản của OpenCA, chúng ta có thể khám phá các thành phần như CA, RA, LDAP và giao diện chung OpenCA cung cấp hỗ trợ cho tất cả phần mềm thông qua giao diện Web.
Muốn thiết kế một trung tâm tin cậy mạnh, phải hình dung ra luồng công việc của tổ chức cần hỗ trợ Ví dụ một sơ đồ nhƣ sau:
Hình 8: Cái nhìn kỹ thuật của PKI
OpenCA hỗ trợ các giao diện sau:
Node (chỉ cho Node quản lý), CA, RA, LDAP, Pub, SCEP a Node
CA có khả năng tạo tất cả các bảng, nhưng không thực hiện điều này tự động Giao diện dành cho các Node hỗ trợ việc sao lưu và khôi phục khóa riêng cũng như chứng chỉ của CA Hiện tại, CA không có cơ chế mặc định cho quy trình này, do đó người dùng cần thực hiện qua giao diện được cung cấp.
Giao diện CA cung cấp các chức năng cho việc tạo chứng chỉ và danh sách thu hồi chứng chỉ, đồng thời cho phép thay đổi hoặc cấu hình lại các giao diện.
RA của OpenCA có khả năng quản lý các yêu cầu như soạn thảo, chấp thuận, tạo khóa riêng trên Smart card và xóa các yêu cầu không hợp lệ Hệ thống cũng hỗ trợ giao thức LDAP để nâng cao hiệu quả trong việc xử lý và xác thực thông tin.
Giao diện LDAP tạo ra sự tách biệt giữa quản lý LDAP và các phần mềm khác, điều này rất quan trọng vì nhiều chức năng chỉ dành cho quản trị viên mà người dùng không cần biết Giao diện công khai chủ yếu liên quan đến trải nghiệm của người dùng.
- Sinh các CSRs (yêu cầu ký chứng chỉ) cho IE
- Sinh các CSRs (yêu cầu ký chứng chỉ) cho Mozilla 1.1+ and Netscape Communicator and Navigator
- Sinh các yêu cầu độc lập Client và các khóa riêng
- Nhận các yêu cầu PKCS #10 định dạng PEM từ các Server
- Tập hợp các chứng chỉ
- Hỗ trợ 2 phương thức khác nhau cho thu hồi chứng chỉ
- Kiểm tra các chứng chỉ người dùng trên trình duyệt
2.1.1.3 Vòng đời của các đối tượng
CÔNG NGHỆ SSL
SSL là một giao thức đa mục đích được thiết kế để mã hóa thông tin giữa hai ứng dụng trên cổng 443, đảm bảo an toàn cho việc truyền tải dữ liệu Được phát triển lần đầu vào năm 1994 bởi nhóm nghiên cứu Netscape dưới sự dẫn dắt của Elgamal, SSL đã trở thành tiêu chuẩn bảo mật quan trọng trên Internet.
SSL được phát triển độc lập với tầng ứng dụng, nhằm bảo vệ tính bí mật, an toàn và ngăn chặn giả mạo thông tin trực tuyến giữa hai ứng dụng, chẳng hạn như giữa Webserver và trình duyệt Do đó, SSL được áp dụng phổ biến trong nhiều ứng dụng khác nhau trên Internet.
Toàn bộ cơ chế và hệ thống thuật toán mã hoá trong SSL được công khai, ngoại trừ khoá phiên được tạo ngẫu nhiên và bí mật trong quá trình trao đổi giữa hai ứng dụng Giao thức SSL yêu cầu người dùng phải được chứng thực bởi một bên thứ ba (CA) thông qua chứng chỉ số dựa trên mật mã công khai, chẳng hạn như RSA.
Hình 11: Vị trí SSL trong mô hình OSI
SSL is a security protocol designed to support various applications, operating above TCP/IP and below higher-level applications like HTTP, LDAP, and IMAP Currently, SSL is primarily utilized for secure web transactions.
SSL enables a server with SSL support to authenticate itself to a client that also supports SSL, and vice versa This technology allows both parties to establish a secure, encrypted connection.
Chứng thực SSL Server là một quá trình quan trọng cho phép Client xác thực được Server muốn kết nối Quá trình này sử dụng kỹ thuật mã hóa công khai để đảm bảo rằng chứng chỉ và public ID của Server là có giá trị, được cấp phát bởi một tổ chức chứng thực đáng tin cậy (CA) trong danh sách các tổ chức được công nhận.
CA tin cậy của Client)
Chứng thực SSL Client cho phép máy chủ xác thực danh tính của client đang cố gắng kết nối Máy chủ sử dụng kỹ thuật mã hóa khóa công khai để kiểm tra tính hợp lệ của chứng chỉ client và xác minh rằng public ID là chính xác, được cấp phát bởi một cơ quan cấp chứng chỉ (CA) nằm trong danh sách các CA đáng tin cậy của máy chủ.
Mã hóa kết nối giữa Client và Server đảm bảo rằng tất cả thông tin trao đổi đều được bảo vệ trên đường truyền, nâng cao tính bảo mật cho cả hai bên, đặc biệt trong các giao dịch riêng tư Tất cả dữ liệu được gửi qua kết nối SSL không chỉ được mã hóa mà còn được bảo vệ bởi cơ chế tự động phát hiện các xáo trộn và thay đổi trong dữ liệu.
Giao thức SSL gồm hai tầng:
Tầng thấp nhất trong kiến trúc SSL là tầng SSL Record Protocol, có vai trò quan trọng trong việc đóng gói các giao thức ở mức cao hơn, trong đó bao gồm giao thức SSL.
Tầng thứ 2, được gọi là Handshake Protocol, là giao thức thiết lập sự xác thực giữa Server và Client Tại đây, hai bên sẽ thỏa thuận về thuật toán mã hóa và các khóa mật mã trước khi bắt đầu quá trình gửi hoặc nhận dữ liệu.
SSLv2: Phiên bản đầu tiên của giao thức SSL do Netscape Corporation thiết kế
SSLv3: Phiên bản SSL version 3.0 do Netscape Corporation thiết kế, đã có trợ giúp Chain certificate (chứng chỉ nhóm), đƣợc hỗ trợ cho các trình duyệt phổ thông
TLSv1, hay Giao thức Bảo mật Tầng Vận chuyển phiên bản 1.0, được phát triển dựa trên SSLv3 bởi IETF, nhưng chưa được hỗ trợ đầy đủ trên tất cả các trình duyệt phổ biến hiện nay.
2.2.3 Các thuộc tính cơ bản
Quá trình mã hóa dữ liệu bắt đầu sau khi hoàn tất quá trình bắt tay (Handshake) để xác định khóa bí mật Mật mã đối xứng, như DES và RC4, được sử dụng để mã hóa thông tin, đảm bảo rằng dữ liệu không thể bị truy cập bởi bên thứ ba.
Danh tính của người bên kia có thể được xác thực bằng mật mã khoá công khai ( RSA, DSS…)
Vận chuyển thông điệp đòi hỏi kiểm tra tính toàn vẹn thông qua hàm kiểm tra MAC có khoá Các hàm băm an toàn như SHA và MD5 được sử dụng trong quá trình thực hiện hàm MAC, đảm bảo rằng thông tin không bị sai lệch và phản ánh chính xác nội dung gốc được gửi đi.
Khả năng an toàn: SSL đƣợc sử dụng để thiết lập kết nối an toàn giữa hai nhóm
Các nhà lập trình độc lập có thể phát triển ứng dụng sử dụng SSL 3.0 mà không cần biết mã chương trình của các ứng dụng khác, thông qua việc trao đổi các tham số mật mã Khả năng tương tác giữa các phần tử này giúp tăng cường tính linh hoạt và khả năng tích hợp trong phát triển phần mềm.
Khả năng mở rộng: SSL cung cấp một framework, trong đó các phương pháp mã hoá và mã hoá khóa công khai kết hợp chặt chẽ với nhau
2.2.5 Giao thức bản ghi (Record Protocol)
SSL sử dụng giao thức bản ghi để đóng gói thông điệp, với vị trí của Record Layer được mô tả trong kiến trúc SSL Record Layer cung cấp định dạng chung cho các thông điệp như Alert, ChangeCipherSpec, Handshake và các thông điệp của các giao thức ứng dụng như HTTP, Telnet.
Hình 12: Vị trí giao thức Bản ghi trong giao thức SSL
MỘT SỐ BÀI TOÁN ĐẶC TRƯNG TRONG THƯƠNG MẠI ĐIỆN TỬ 61 1 Giới thiệu
Quy trình thương mại điện tử (TMĐT) tương tự như thương mại truyền thống, bao gồm việc mua bán hàng hóa qua các phương tiện điện tử Cả quy trình thương mại và TMĐT đều trải qua các bước cơ bản giống nhau.
- Quảng bá, giới thiệu sản phầm (Marketing)
- Thanh toán và chuyển giao sản phẩm
Một trang thương mại điện tử (TMĐT) an toàn cần đáp ứng các yêu cầu về an toàn thông tin, bao gồm cả những tiêu chuẩn chung và những yêu cầu riêng biệt Trong mỗi giao dịch TMĐT, có nhiều thách thức liên quan đến an toàn thông tin như bản quyền, bảo mật thông tin, toàn vẹn dữ liệu, chống từ chối dịch vụ và ngăn chặn gian lận trong thanh toán Mỗi quy trình thương vụ đều có những bài toán an toàn thông tin đặc trưng cần được nghiên cứu và giải quyết để đảm bảo sự tin cậy và an toàn cho người dùng.
3.2.2 Một số bài toán trong quảng cáo trực tuyến
Quảng bá và giới thiệu sản phẩm là bước đầu tiên và quan trọng trong quy trình thương mại, quyết định tính cạnh tranh của sản phẩm Sự phát triển của Internet đã mang lại nhiều lợi ích, bao gồm chi phí thấp để truyền tải thông tin đến đông đảo đối tượng tiếp nhận Thông điệp quảng bá có thể được truyền tải qua nhiều hình thức khác nhau như văn bản, hình ảnh và âm thanh.
Quảng bá hàng hóa trực tuyến cho phép người tiêu dùng phản hồi ngay lập tức và giao tiếp trực tiếp với nhà cung cấp, tạo ra lợi thế vượt trội so với các hình thức quảng cáo khác Tuy nhiên, điều này cũng dẫn đến những vấn đề về an toàn trong quảng cáo trực tuyến.
Quảng bá hàng hóa trực tuyến mang lại nhiều lợi thế, trong đó nổi bật là khả năng cung cấp thông tin phong phú cho người tiêu dùng, cho phép họ truy cập và thực hiện giao dịch mọi lúc, mọi nơi Doanh nghiệp có thể tiết kiệm chi phí bán hàng, giảm bớt chi phí thuê mặt bằng và số lượng nhân viên bán hàng Ngoài ra, hình thức quảng bá này giúp doanh nghiệp mở rộng thị trường và phát triển toàn cầu So với các phương tiện quảng cáo truyền thống như in ấn, báo chí hay truyền hình, quảng bá hàng hóa trực tuyến có chi phí thấp hơn đáng kể, tạo điều kiện thuận lợi cho doanh nghiệp.
Internet ngày càng phát triển, kéo theo sự bùng nổ của hoạt động thương mại điện tử (TMĐT) Quảng bá sản phẩm của doanh nghiệp, cá nhân và tổ chức trở nên nhanh chóng, tiện lợi và rộng rãi hơn bao giờ hết Tuy nhiên, cùng với những lợi thế này, cũng xuất hiện nhiều thách thức và vấn đề an toàn trong quảng cáo trực tuyến, như việc truy cập trái phép vào cơ sở dữ liệu để thay đổi thông tin sản phẩm, sao chép trái phép và xâm phạm quyền sở hữu trí tuệ Do đó, việc đảm bảo nguồn gốc và độ tin cậy của sản phẩm hàng hóa, dịch vụ là vô cùng quan trọng.
3.2.2.1 Toàn vẹn thông tin trong quảng cáo trực tuyến
Khác với quảng cáo truyền thống trên tivi, radio hay báo chí, quảng cáo trực tuyến cho phép thông tin về hàng hóa, dịch vụ và thương hiệu được công khai trên internet toàn cầu Điều này cũng đồng nghĩa với việc người xem có thể tương tác và chỉnh sửa nội dung quảng cáo, đặc biệt là khi có ý đồ xấu.
Vấn đề toàn vẹn thông tin sản phẩm và thương hiệu doanh nghiệp là rất quan trọng, đảm bảo rằng các thông tin về sản phẩm, banner và logo không bị thay đổi.
2 Giải pháp kỹ thuật Để đảm bảo tính toàn vẹn các quảng cáo trực tuyến trước hết phải thực hiện biện pháp đảm bảo tính toàn vẹn CSDL, thực hiện bảo vệ máy chủ CSDL Bảo vệ chống truy nhập trái phép CSDL bằng cài đặt và phân quyền truy nhập CSDL, cài đặt các tầng bảo vệ CSDL khỏi tấn công của hacker
3.2.2.2 Bảo vệ bản quyền sở hữu trí tuệ
Bảo vệ bản quyền và sở hữu trí tuệ là rất quan trọng trong việc đảm bảo an toàn cho các tác phẩm sáng tạo Bản quyền, một thuật ngữ pháp lý, bảo vệ quyền lợi kinh tế của tác giả đối với các tác phẩm văn học, nghệ thuật, phát minh và chương trình máy tính, bao gồm quyền tái bản, in ấn và trình diễn công khai Trong khi đó, sở hữu trí tuệ liên quan đến quyền sở hữu các ý tưởng và kiểm soát cách thức chúng được thể hiện, cả trong môi trường ảo lẫn thực tế.
Khi internet phát triển, việc quảng cáo sản phẩm và dịch vụ trên website trở nên phổ biến, nhưng điều này cũng dẫn đến tình trạng sao chép trái phép và xâm phạm bản quyền Việc sử dụng tài liệu mà không có sự cho phép của chủ sở hữu ngày càng dễ dàng, gây ra thiệt hại khó ước lượng Mặc dù thiệt hại từ xâm phạm bản quyền không thể đo đếm chính xác, nhưng chúng không hề nhỏ và ảnh hưởng nghiêm trọng đến doanh nghiệp và tổ chức.
Internet mang đến một môi trường hấp dẫn với hai mục tiêu chính Thứ nhất, người dùng có thể dễ dàng sao chép hoặc truy cập bản sao của bất kỳ nội dung nào mà không cần quan tâm đến các ràng buộc bản quyền Thứ hai, nhiều người không nhận thức được sự tồn tại của các ràng buộc này, trong khi chúng đóng vai trò quan trọng trong việc bảo vệ sở hữu trí tuệ.
2 Hành lang pháp lý Để bảo vệ bản quyền trong TMĐT trước hết cần có một hành lang pháp lý cho TMĐT, trong đó có luật sở hữu trí tuệ và bản quyền Nếu nhƣ mẫu quảng cáo của bạn bị nhái, giống bản quảng cáo của bạn quá một giới hạn nào đấy, bạn có quyền khiếu nại lên cơ quan có thẩm quyền yêu cầu bảo vệ bản quyền của bạn
3 Giải pháp kỹ thuật Để bảo vệ bản quyền cho các poster, banner quảng cáo của bạn trên Internet, không bị sao chép một cách trái phép, người ta dùng các kỹ thuật chống sao chép Nếu là một clip, video quảng cáo trên mạng việc chống sao chép có thể thực hiện một cách khả thi Nhƣng nếu là một banner, một hình ảnh quảng cáo, thì việc chống sao chép dường như là không thể Để sao chép một bức ảnh xuống máy tính cá nhân, một cách đơn giản nhất mà không kỹ thuật nào có thể ngăn cản, đó là hình thức chụp/cắt ảnh bằng Print Screen máy tính cá nhân đó
Một phương pháp hiệu quả để bảo vệ bản quyền quảng cáo là ký tên lên sản phẩm quảng cáo, xác nhận quyền sở hữu của tác giả Khi ai đó muốn sử dụng sản phẩm quảng cáo của bạn cho doanh nghiệp hoặc website của họ, các clip và hình ảnh có chữ ký thương hiệu sẽ chứng minh quyền sở hữu Hai kỹ thuật phổ biến để thực hiện điều này là chữ ký số (Digital Signature) và thủy vân số (watermarking), giúp chèn logo thương hiệu bản quyền lên sản phẩm, ngăn chặn việc sao chép và sử dụng trái phép.
CẤU HÌNH HỆ THỐNG
4.1.1 Đăng kí thƣ viện cho phép kí số, mã hóa
Chạy file “Server.bat” trong thƣ mục “Bo cai cho cac may”
Sau đó ấn một phím bất kì để kết thúc việc đăng kí:
4.1.2 Cấu hình cho Internet Explorer
Mở Internet Explorer chọn “Internet Options” chọn thẻ “Security”:
Chọn “Local Intranet” rồi chọn “Custom level…” nhƣ hình trên
Trong “ActiveX controls and plug-ins” chọn “Enable” tất cả các lựa chọn Sau đó chọn “Ok” rồi chọn “Yes”
Sau đó chọn “Trusted sites” và chọn “Sites”:
Sau đó Add site tiến hành kí số mã hóa nhƣ hình:
Sau đó chọn “Custom level…” sau đó cấu hình Trong “ActiveX controls and plug-ins” chọn “Enable” tất cả các lựa chọn Sau đó chọn “Ok” rồi chọn “Yes”
Chọn “Ok” để hoàn thành quá trình cấu hình Internet Explorer.
CÁC THÀNH PHẦN CỦA CHƯƠNG TRÌNH
4.2.1 Thiết bị lưu trữ chứng thư (USB TOKEN)
USB Token là thiết bị phần cứng thiết yếu để tạo và lưu trữ cặp khóa bí mật và công khai Nhà cung cấp dịch vụ chữ ký số sẽ giao USB Token cho khách hàng, giúp họ tạo cặp khóa và thực hiện ký số hoặc giải mã dữ liệu Để sử dụng dịch vụ ký số và giải mã, người dùng cần cài đặt USB Token trước Các bước cài đặt và sử dụng USB Token sẽ được hướng dẫn cụ thể.
Cắm USB token vào cổng USB của máy tính Trên một số máy, USB token sẽ tự động cài đặt Nếu hệ thống không tự động nhận diện, người dùng cần vào USB token và chạy file setup.exe để cài đặt.
Sau khi cài đặt xong người sử dụng sẽ xem được thông tin chứng thư trong usb token:
4.2.2 Chứng thƣ số của RootCA và SubCA
Sau khi cài đặt thành công USB token, người dùng có thể truy cập toàn bộ thông tin chứng thư số Để xem thông tin về nhà cung cấp chứng thư gốc (root CA) và chứng thư phụ (sub CA), người dùng chỉ cần vào tab "Certification Path".
Nếu ở MIC National Root CA có báo X thì có nghĩa là chứng thƣ số của MIC và
CA chưa được xác thực trong Internet Explorer Người dùng cần truy cập thư mục "cer MIC và CA" để cài đặt lần lượt chứng thư số của MIC và CA.
Chọn “Install Certificate” nhƣ hình:
Sau đó chọn “Next” đƣợc màn hình hiển thị nhƣ sau:
- Nếu hệ điều hành máy tính là Window XP thì chọn “Automatically select the certicate store based on the type of certificate”
- Nếu hệ điều hành máy tính là Window 7 hay Window Server thì chọn “Place all certificates tin the following store” sau đó chọn “Browse” Click vào
“show physical store” và chọn “Trusted root …”:
Sau khi chọn “Next” cho đến khi hoàn tất, Cert của MIC sẽ không còn hiển thị lỗi X nữa Như vậy, quá trình cài đặt USB token và xác thực chứng thư của rootca và subca đã hoàn thành.
4.2.3 Sử dụng khóa bí mật (Private key) và khóa công khai (Public key) trong chứng thư số
- Private key: lưu cố định trong usb token, không thể lấy ra được Phục vụ cho việc ký số và giải mã
- Public key: lưu trong usb token, có thể lấy ra được Phục vụ cho việc chứng thực và mã hóa
- Để lấy Public key tiến hành nhƣ sau:
Chạy “CA2 Token Manager” chọn “Xem thông tin chƣng thƣ số” Sau đó chọn thẻ “Details” và chọn “Copy to File…”:
Sau đó chọn “Next” rồi chọn “Base-64 encoded X.509 (.CER)”:
Sau khi chọn “Next” như hình trên thì chọn tiếp đường dẫn lưu Public key và chọn “Finish” để hoàn thành quá trình lấy Public key
Public key của người nhận (A) được chia sẻ với các đối tác muốn gửi chứng từ hoặc thông điệp cho A, nhằm mã hóa thông điệp hoặc xác thực nguồn gốc của thông điệp Để sử dụng Public key cho mục đích chứng thực hoặc mã hóa, cần thêm Public key vào Internet Explorer.
Tải chứng thư của người nhận để mã hóa hoặc chứng thư của người gửi để xác thực Sau đó, tiến hành cài đặt chứng thư vào trình duyệt Internet Explorer theo hướng dẫn.
Click 2 lần vào chứng thƣ Click “Install Certificate”
- Nếu hệ điều hành máy tính là Window XP thì chọn “Automatically …”
- Nếu hệ điều hành máy tính là Window 7 hay Window Server thì chọn “Place all …” sau đó chọn “Browse” Click vào “show physical store” và chọn
If you cannot find "Other People," navigate to Internet Explorer, go to Tools, select Internet Options, and click on the Content tab From there, choose Certificates, then Other People, and click Import Proceed by clicking Next, then Browse to select the folder containing the certificate Continue by clicking Next twice, then Finish, and finally OK.
Kiểm tra có những Public key nào đã đƣợc thêm vào Internet Explorer ta chọn
Chọn tab Other People Để xem IE đã nhận USB Token chƣa và đã có private key chƣa thì xem ở tab: Personal
HƯỚNG DẤN SỬ DỤNG
Các thao tác này đƣợc thực hiện tại địa chỉ đã add vào “Trusted sites” ở trên: http://123.30.19.67/hongha/
Thực hành các thao tác với file test.docx có nội dung nhƣ hình:
Chọn file muốn ký số rồi chọn nút “Ký thông điệp”
Nhập mật khẩu của usb token rồi chọn nơi muốn lưu file sau khi ký số
Chọn “Save” sẽ nhận đƣợc thông báo đã ký thành công:
Khi đó sẽ có file đã đƣợc ký số và không thể xem đƣợc Muốn xem file ta phải tiến hành xác thực thông điệp
4.3.2 Xác thực: Để xác thực phải dùng public key và thêm vào Internet Explorer Chọn “Xác thực thông điệp”
- Chọn file cần xác thực sau đó chọn vị trí muốn lưu file đã xác thực:
Sau khi đã xác thực sẽ nhận đƣợc thông báo:
Và kết quả là file test_xacthuc.docx xem đƣợc với nội dung:
Chọn “Mã hóa thông điệp”
Chọn file test.docx cần mã hóa rồi chọn “Mã hóa thông điệp” Sau đó chọn
Chọn đường dẫn muốn lưu file đã mã hóa rồi chọn “Save”
Nhận đƣợc thông báo mã thành công
File test_mahoa.docx đã được mã hóa và không thể đọc được Để truy cập nội dung, cần thực hiện giải mã bằng Private key tương ứng với Public key đã sử dụng trong quá trình mã hóa.
- Chọn “Giải mã thông điệp”
Chọn file cần giải mã rồi chọn “Giải mã thông điệp” Sau đó chọn đường dẫn muốn lưu file đã được giải mã và chọn “Save”
Khi đó sẽ nhận đƣợc thông báo
Và file nhận đƣợc là file test_giaima.docx đọc đƣợc với nội dung nhƣ sau