An toàn cho PKI
Chức năng an toàn cho hệ thống PKI được phân chia thành an toàn hệ thống và an toàn mật mã.
An toàn hệ thống với các yêu tố chính sau:
- Bảo đảm an toàn cho máy chủ CA: Mọi tấn công hệ thống PKI trước hết nhằm làm mất khả năng an toàn của mạng CNTT bên trong hạ tầng PKI, bao gồm các máy chủ CA. Khi có khả năng truy cập đến các máy chủ CA, kẻ tấn công sẽ tạo ra các CTS giả mạo và hạ tầng PKI bị coi là mất tính năng tin cậy. Đầu tiên, kẻ tấn công nhằm vào hệ thống bảo vệ an toàn vật lý, phá vỡ ngăn cách tiếp cận giữa các vùng an toàn khác nhau và làm lộ ra các dữ liệu xác thực sinh trắc, mật mã... nhằm truy cập vật lý đến các CA. Tiếp đến là các tấn công lôgic, những lựa chọn cài đặt các cơ chế an toàn hay các tùy chọn cấu hình không đúng đắn dẫn đến xảy ra lỗi lôgic của hệ thống.
- Ngăn chặn các mối quan hệ tin cậy bắc cầu: Các mối quan hệ tin cậy này cho phép người quản trị có quyền truy cập bắc cầu đến nhiều hệ thống CA trong một miền. Nếu quyền ưu tiên bị leo thang trong một hệ thống thì nó sẽ được leo thang trong tất cả các hệ thống còn lại.
- Thiết lập cơ chế xác thực mạnh mọi lúc, mọi nơi, sử dụng cơ chế xác thực hai nhân tố được thiết lập từ các đầu cuối đến với nhau. Áp dụng xác thực mạnh riêng biệt cho hệ thống CA và RA để giảm thiểu nguy cơ sử dụng các thiết bị phần cứng an toàn (HSM) sinh các CTS giả. Chỉ sử dụng các phần mềm ứng dụng nội bộ để vận hành RA và các chức năng cá thể hóa thẻ Smartcard, để không làm lộ lọt thông tin liên quan đến các quá trình kiểm tra.
- Bảo vệ các dữ liệu kiểm toán để dễ dàng theo dõi vết kẻ tấn công. Đưa dữ liệu kiểm toán vào hệ thống riêng biệt và phân tách vai trò kiểm soát truy cập nhằm tạo ra một lớp an toàn bổ sung có chức năng theo dõi vết chuẩn hóa và tập trung hóa.
- Dữ liệu gỡ bỏ CTS cũng cần có bản danh sách trắng (White list). Trong khi CRL cài đặt cơ chế danh sách đen (Black list) cho các CTS bị gỡ bỏ thì OCSP cài đặt cả cơ chế danh sách đen và danh sách trắng. Để cung cấp danh sách trắng các CTS, khi đó CA phải cung cấp dịch vụ trả lời với trạng thái hiển thị các CTS đã được cấp phát. CTS nào không khớp với các thông báo trả lời hiện hữu thì bị coi là giả mạo.
Ngoài ra, thiết bị HSM được sử dụng để phân tách các vai trò trong hệ thống, xác thực hai nhân tố; sử dụng CTS để ký số các mã chương trình nhằm chống lại việc đánh cắp các CTS và các khóa bí mật. RA cũng cần được bảo vệ để tránh kẻ tấn công yêu cầu cấp phát và nhận được các CTS giả một cách hợp thức. Cũng cần lưu ý đến các cài đặt an toàn. Đó là các chương trình đại diện SSL được cài đặt để giải mã các kết nối SSL khởi đầu từ bên trong mạng liên kết. Chúng hỗ trợ cài đặt quét mã độc hại và bảo vệ chống mất dữ liệu tại biên giới mạng liên kết. Các chương trình đại diện SSL có thể trở thành nguồn cho tấn công người đứng giữa (MITM) vì các CTS của chúng có chức năng giống như các CTS trung gian.
Mật mã trong hệ thống PKI phải bảo đảm chống lại các dạng tấn công cơ bản sau:
- Tấn công thực hiện ký số hợp lệ lên các phần mềm độc hại rồi sau đó phát tán các phần mềm này như là một phần mềm hợp lệ, nếu kiểm tra CKS trên chúng.
- Tấn công chống lại các thuật toán, như tấn công đếm thời gian (Timing attack) thực hiện các phép toán mật mã, tấn công vào các hệ mật có độ dài khóa nhỏ hay tấn công dựa vào các va chạm (Collision) của hàm băm MD5.
- Tấn công chống lại các cài đặt mật mã. Kiểu tấn công này dựa vào rất nhiều các giải pháp cài đặt không hoàn thiện các nguồn sinh số ngẫu nhiên. Các nhà nghiên cứu đã khám phá ra một số lượng đáng kể các khóa RSA tích cực hoặc là bị đặt ngầm định, lặp lại hoặc có chứa các thừa số nguyên tố chia sẻ.
Trường hợp khóa bị đặt ngầm định là do các cấu hình chương trình thực thi đơn giản, các khóa được tích hợp sẵn vào thiết bị (ở nơi sản xuất) không được thay thế lại trước khi đưa vào sử dụng.
Các khóa bị lặp lại hoặc chia sẻ thừa số nguyên tố được tạo thành từ các nguồn sinh số ngẫu nhiên với độ bất định thấp. Các cặp khóa lặp hoàn toàn là khi cả hai thừa số nguyên tố đều được sinh ra với cùng độ bất định thấp. Trường hợp chia sẻ thừa số nguyên tố được tạo ra khi thừa số nguyên tố thứ nhất được sinh ra từ một nguồn sinh số ngẫu nhiên với độ bất định thấp, và thừa số nguyên tố thứ hai lại được sinh ra sau khi nguồn sinh số ngẫu nhiên này thiết lập lại mầm sinh khóa để cải thiện độ bất định. Trường hợp cả hai thừa số nguyên tố được sinh ra không lặp lại, nhưng đều từ nguồn sinh số ngẫu nhiên với độ bất định thấp hoặc không hoàn toàn ngẫu nhiên thì cũng là điểm yếu dễ bị tấn công bằng các thuật toán phân tích số.
Trên thực tế, có những lớp số nguyên tố được sinh ra từ các nguồn sinh số ngẫu nhiên yếu; đã không kháng được các tấn công phân tích số sử dụng phương pháp phân tích của Coppersmith với thuật toán LLL.
Các khóa mật mã cũng có nguy cơ bị lộ do các nguồn sinh số ngẫu nhiên được sử dụng kém chất lượng về khía cạnh mật mã, nhất là các nguồn sinh bằng phần cứng và được thiết lập sẵn trong các thẻ Smartcard (dạng Etoken) được sử dụng để sinh và lưu trữ khóa bí mật RSA.
Nguồn sinh số ngẫu nhiên và an toàn mật mã trong PKI
Hiện nay, nhiều hạ tầng PKI đang sử dụng các thiết bị Smartcard làm phương tiện sinh và lưu trữ các khóa bí mật RSA khi cấp phát các CTS. Các Smartcard này thường là các USB Token, được các hãng chuyên nghiệp sản xuất theo đặt hàng. Có các nguồn sinh số ngẫu nhiên được thiết lập sẵn bên trong Smartcard thường được thông báo là có chất lượng tuân theo các tiêu chuẩn về an toàn của quốc tế, với chứng nhận FIPS 140-2 mức 2.
Các Smartcard hoạt động có tính chất độc lập so với các máy tính trạm mà chúng giao tiếp, do đó đòi hỏi phải có nguồn sinh số ngẫu nhiên độc lập bảo đảm vận hành các chức năng mật mã. Smartcard thường có năng suất vận hành và khả năng lưu trữ thấp, nên chức năng mật mã được thiết lập bên trong chúng cũng phải rất nhỏ gọn và có hiệu quả, kể cả các nguồn sinh số ngẫu nhiên được thiết lập sẵn trong Smartcard. Do đó các nguồn sinh số ngẫu nhiên này không hoàn toàn giống các nguồn sinh số ngẫu nhiên được thiết lập trong các hệ điều hành máy tính. Điều này có thể gây ra các vấn đề mất an toàn đối với các khóa mật mã.
Sau đây là một trường hợp thực tế mà khóa mật mã RSA của CTS đã bị tấn công ảnh hưởng tới an toàn của giao dịch điện tử, đã xảy ra ở Đài Loan.
Năm 2003, Đài Loan triển khai Chính phủ điện tử (E-Government) bằng cách cung cấp hạ tầng PKI quốc gia cho công dân. Dịch vụ CTS quốc gia này cho phép các công dân sử dụng các thẻ chứng minh nhân dân (ID Card) để xác thực trong nhiều giao dịch số hóa. Các CTS sử dụng khóa mật mã RSA có độ lớn 1024 bit. Các khóa này được sinh ra bởi các Smartcard có các nguồn sinh số ngẫu nhiên phần cứng được thiết lập sẵn bên trong, vượt qua chứng nhận chuẩn FIPS 140-2 mức 2.
Tuy nhiên, đến tháng 7/2012, các kết quả tấn công làm lộ khóa RSA của CTS quốc gia Đài Loan đã được công bố. Đến tháng 6/2013, danh sách các CTS bị lộ khóa đã được thông báo. Cơ quan cấp CTS của Đài Loan đã yêu cầu các thuê bao có CTS bị lộ khóa phải thay khóa mới; Gỡ bỏ các CTS bị lộ khóa và thay thế tất cả các thẻ bị tổn thương thuộc cùng loạt cấp phát.
Trong trường hợp này, kẻ tấn công đã sử dụng CSDL bao gồm hơn hai triệu CTS của Đài Loan được công bố công khai và phân tích thành công được 184 khóa RSA khác nhau. Trong 184 khóa này, có 103 khóa chia sẻ các thừa số nguyên tố và có thể dễ dàng bị phân tích bằng thuật toán tìm ước số chung lớn nhất theo loạt (Batch-GCD). Với 81 khóa còn lại không chia sẻ các thừa số nguyên tố, kẻ tấn công đã khai thác sâu hơn những sai lầm trong việc sinh số ngẫu nhiên. Hacker đã sử dụng các số nguyên tố được chia sẻ làm điểm tựa để đặc trưng hóa các sai lầm và sau đó dùng tấn công khôi phục khóa từng phần kiểu Coppersmith.
Đây là ứng dụng công khai thành công đầu tiên của tấn công kiểu Coppersmith. Điều đặc biệt là tấn công này được thực hiện rất “ngẫu hứng” và dễ dàng, nên là loại tấn công nguy hiểm, vì các CTS để công khai trên Internet, dễ dàng có thể tiếp cận được. Nguồn các CTS càng lớn thì tỷ lệ tấn công thành công càng cao, chưa kể các phương pháp phân tích số tiếp tục được cải tiến hoặc mở rộng.
Từ trường hợp tấn công trên đây, có thể phân tích một số lỗi trong nguồn sinh số ngẫu nhiên:
- Nếu nguồn sinh số ngẫu nhiên đảm bảo chất lượng thì các thừa số nguyên tố p, q trong hệ mật RSA được sinh ra sẽ ngẫu nhiên và các tấn công phân tích các thừa số nguyên tố sẽ không dễ dàng thành công được.
- Điểm mấu chốt là, một khi được sinh ngẫu nhiên thực sự, thì các thừa số nguyên tố sẽ tuân theo đúng tỷ lệ về phân bố các số nguyên tố trong các số nguyên ngẫu nhiên, xác suất lặp lại là vô cùng nhỏ trong các số nguyên có tới 512 bit và càng nhỏ đối với các số nguyên có 1024 bit. Các số nguyên tố được sinh ra sẽ không rơi vào các mẫu sai sót để có thể áp dụng tấn công kiểu Coppersmith.
- Sai lầm lớn nhất là lặp lại các thừa số nguyên tố trong quá trình tạo ra chúng sử dụng nguồn sinh số ngẫu nhiên. Trong ví dụ trên, người ta chỉ cần sử dụng thuật toán tìm ước số chung lớn nhất theo loạt (Batch-GCD) là đã có thể phân tích được 103 khóa bí mật.
- Trong phương pháp chia thử theo loạt (Batch trial division), xuất phát từ các khóa mật mã hay thừa số nguyên tố bị lặp lại, người ta dchỉ ra mô hình tạo ra các mẫu để sinh các thừa số nguyên tố mà do mắc sai lầm mà các nguồn sinh số ngẫu nhiên có thể sinh ra chúng.
Nâng cao chất lượng nguồn sinh số ngẫu nhiên
Giải pháp nâng cao chất lượng nguồn sinh số ngẫu nhiên tốt là không được cho phép sinh các số ngẫu nhiên có độ bất định thấp và không an toàn mật mã. Các nguồn sinh số ngẫu nhiên phải không cho phép lặp lại hoặc sinh ra các số ngẫu nhiên theo một mẫu nào đó.
Việc tìm được các thừa số nguyên tố lặp lại từ nguồn sinh số ngẫu nhiên thể hiện rằng, không chỉ các khóa RSA cụ thể này bị tổn thương mà hơn thế nữa, nguồn sinh số ngẫu nhiên này chất lượng kém hoặc không hoạt động đúng chức năng. Việc cần làm là phải gỡ bỏ toàn bộ các khóa RSA được sinh ra bởi nguồn sinh số ngẫu nhiên đó và đồng thời gỡ bỏ luôn cả nguồn sinh số ngẫu nhiên tương ứng và thay nó bằng một nguồn sinh số ngẫu nhiên đảm bảo chất lượng.
Hơn thế nữa, trong trường hợp không có các thừa số nguyên tố lặp lại thì cũng chưa thể khẳng định được rằng nguồn sinh số ngẫu nhiên là an toàn. Người ta có thể thêm số tuần tự của thẻ Smartcard thành các bit đứng đầu, khiến các khóa RSA được sinh ra không bao giờ bị lặp lại, nhưng khóa RSA này vẫn có thể bị phân tích bởi những kẻ tấn công.
Có rất nhiều tổn thương tiềm năng gây ra từ nguồn sinh số ngẫu nhiên tồi. Việc quan trọng là phải kiểm thử kỹ từng thành phần của nguồn sinh số ngẫu nhiên để đánh giá chất lượng của nó trước khi đưa vào một ứng dụng cụ thể.
Kết luận
Việc sinh các số ngẫu nhiên chất lượng cao có tính quyết định đối với độ an toàn của các hệ thống mật mã. Đây là một công việc đầy khó khăn và đã có một số tiêu chuẩn về vấn đề này. Tuy nhiên, các tiêu chuẩn này trên thực tế cũng cần thường xuyên được điều chỉnh, cải tiến hoặc bổ sung nâng cao chất lượng. Bên cạnh đó, các nguồn sinh số ngẫu nhiên cũng có thể bị cài kênh ngầm hay cửa sập để sau này dễ dàng phá vỡ các tham số mật mã do chúng sinh ra.
Để có nguồn sinh số ngẫu nhiên tốt cho ứng dụng mật mã, đối với phần cứng và phần mềm, nhất là đối với các thiết bị Smartcard, cần có những nghiên cứu sâu sắc cả về lý thuyết và thực hành theo các chuẩn quốc tế.
09:00 | 25/06/2024
Nghị định 13 về bảo vệ dữ liệu cá nhân đã đặt ra cho các doanh nghiệp Việt Nam một loạt các vấn đề cần giải quyết. Tuy nhiên, dường như mọi người mới chú ý đến lĩnh vực tài chính, ngân hàng và những ý kiến về việc tuân thủ Nghị định 13 hầu hết xuất phát từ ngành này. Trong khi đó, những dữ liệu cá nhân nhạy cảm có liên quan tới ngành y tế như tình trạng sức khỏe, đặc điểm di truyền hay đời sống tình dục... của cá nhân lại chưa được quan tâm nhiều.
10:00 | 08/05/2024
Microsoft đã thông báo rằng người dùng Windows hiện có thể đăng nhập vào tài khoản khách hàng (consumer accounts) của họ bằng Passkey, cho phép người dùng xác thực bằng các phương pháp không cần mật khẩu như Windows Hello, khóa bảo mật FIDO2, dữ liệu sinh trắc học (quét khuôn mặt hoặc dấu vân tay) hoặc mã PIN thiết bị.
17:00 | 05/07/2023
Ngày 30/6/2023, Cục Chứng thực số và Bảo mật thông tin, Ban Cơ yếu Chính phủ và Sở Thông tin và Truyền thông tỉnh Lạng Sơn đã phối hợp tổ chức Hội nghị bồi dưỡng công tác quản lý, sử dụng chứng thư số, chữ ký số chuyên dùng Chính phủ trong các cơ quan nhà nước năm 2023.
09:00 | 13/12/2022
Chuyển đổi số hiện là xu thế tất yếu trên toàn thế giới. Tại Việt Nam, quá trình chuyển đổi số đã bắt đầu diễn ra và đã đạt được những kết quả tích cực ở cả 3 trụ cột là Chính phủ số, kinh tế số và xã hội số. Chuyển đổi số là quá trình áp dụng các công nghệ mới trong hệ sinh thái công nghệ số. Bài viết nghiên cứu tổng quan về một số công nghệ nền tảng cũng như xu hướng chuyển đổi số ở Việt Nam.
Từ ngày 04 - 26/7/2024, tại Hà Nội, Văn phòng Chính phủ đã tổ chức Hội nghị tập huấn giải pháp chia sẻ dữ liệu trên Trục liên thông văn bản quốc gia. Tại Hội nghị, báo cáo viên của Cục Chứng thực số và Bảo mật thông tin, Ban Cơ yếu Chính phủ đã hướng dẫn, tuyên truyền tới các Bộ, ngành, địa phương những quy định mới về chữ ký số chuyên dùng công vụ, hướng dẫn ký tắt điện tử đối với dự thảo văn bản trình Chính phủ, Thủ tướng Chính phủ.
15:00 | 05/08/2024
Tỷ lệ người trưởng thành Việt Nam sử dụng chữ ký số đã tăng trưởng ấn tượng hơn 4 lần trong giai đoạn 2022 - 2024, đạt 13,5%. Tuy nhiên, con số này vẫn còn cách xa mục tiêu 50% đề ra trong Chiến lược quốc gia phát triển kinh tế số, xã hội số, cho thấy còn nhiều việc phải làm để phổ cập công cụ quan trọng này.
10:00 | 23/08/2024