Chứng thư số–Một số điểm cơ bản

20110407_TT_01

Khi những ứng dụng điện thoại thông minh (smartphone) tải về hàng tỷ ứng dụng mỗi năm, kèm theo các mẫu quảng cáo thì nguy cơ bị nhiễm mã độc (malware) đối với người dùng lễn hệ thống mạng không dây là rất cao.

Do đó, để đảm bảo an toàn thông tin thì các nhà sản xuất và nhà phát triển ứng dụng di động đã triển khai mô hình chứng thư số (code signing – CTS) để có thể nhận biết đâu là phần mềm hợp pháp, đồng thời có thể ngăn chặn các ứng dụng giả mạo và quan trọng là có thể hủy bỏ các mã độc hại mà không làm ảnh hưởng đển các ứng dụng còn lại đã được xuất bản lên kho ứng dụng.

Chứng thư số là gì?

Chu_ky_dien_tuMục đích chính của CTS là xác thực, nhận dạng phần mềm hay ứng dụng hợp pháp và không bị thay đổi trên đường truyền, ví dụ những activex control tải về từ Internet thì phải có chữ ký số để có thể sử dụng một cách an toàn. Ngoài ra, CTS còn giúp đảm bảo ứng dụng có chữ ký số mới được chạy. Mỗi loại chứng thực được thiết kế dùng cho một mục đích khác nhau, vì vậy phải đúng loại và đúng mục đích mới chạy được. Bên cạnh đó, việc thực hiện CTS sẽ cung cấp cơ chế chữ ký số nhằm nhận diện ra tác giả phát triển và có nhiệm vụ kiểm tra tổng thể để biết đối tượng trong mã nguồn đã không bị thay đổi.

Mỗi khi ứng dụng đó có ký số nhưng bị thay đổi hay nhiễm malware thì cũng có thể nhận diện ra. Nếu muốn cái phần mềm thì phải mang CTS à dùng chứng thực CTS của phần mềm đó trước khi cài đặt, điều này có nghĩa là dù virus hay malware muốn đột nhập vào máy tính cũng phải “xin” chứ không phải dễ dàng thâm nhập vào.

Hầu hết các phiên bản distro của Linux cũng như các dịch vụ cập nhật hệ điều hành MAC OS X của Apple và Microsoft Windows đều sử dụng CTS để có thể đảm bảo không có mã nguồn nhiểm malware trong các hệ thống vá lỗi.

Cơ chế hoạt động của CTS trên ứng dụng di động

cksdoanhnghiepCác nền tảng phần mềm di động như Windows Phone 7 và kho dữ liệu ứng dụng phổ biến như Windows Marketplace của Microsoft (mô hình kinh doanh cũng tương tự như “cửa hàng trực tuyến” của Apple là App Store) đã triển khai công nghệ CTS để ngăn chặn tối thiểu các mối đe dọa bảo mật.

Đối với các mô hình cung cấp phần mềm dạng truyền thống, người mua chỉ cần xác nhận nguồn ứng dụng và tính toàn vẹn của nó quan việc xem xét chi tiết gói ứng dụng đó. Tuy nhiên, phần mềm tải về qua hệ thống mạng di động sẽ chứa nhiều rủi ro hơn bởi vì công việc nhận các nhàn sản xuất ứng dụng di động nào là hợp lệ trở nên khó khăn hơn nhiều. Giả sử, nếu malware thâm nhập vào môi trường mạng không dây, nguy cơ rủi ro không chỉ tại smartphone của người dùng cuối mà còn ảnh hưởng toàn bộ thiết bị trong hệ thống mạng di động và thậm chí có thể làm nghẽn dịch vụ của hệ thống. Nghiêm trọng hơn là có thể phá hỏng hệ thống mạng của nhà cung cấp, gây thiệt hại lớn về tiền của.

03aCTS dựa trên mã hóa khóa công khai (public key cryptography) (Xem phần Một số thuật ngữ bên dưới). Khi một nhà sản xuất phần mềm dùng khóa riêng tư (private key) có chữ ký số gắn vào mộ đoạn mã nguồn của phần mềm thì các nền tảng di động như Windows Phone 7 sẽ dùng khóa công khai để xác thực chữ ký số trong suốt quá trình tải ứng dụng và so sánh thuật toán băm (hash) của ứng dụng đã được ký số xem có trùng khớp với thuật toán hash sử dụng ở ứng dụng được tải về hay không. Lúc đó hash sẽ giúp xác nhận những nội dung của tập tin và mã nguồn đã không bị thay đổi hay hiệu chỉnh kể từ lúc nội dung đó đãcó chữ ký số. Trong lúc, người dùng có thể kiểm tra nội dung tập tin và tính toàn vẹn của phần mềm thì nhà sản xuất ứng dụng di động cũng có thể hủy các chứng nhận nếu nhận ra có mối đe dọa về bảo mật.

dd569931.unsignedapp1(en-us)Đối với chứng thực CTS truyền thống, nhà phát triển thường phải dùng chữ ký số giống nhau áp dụng cho tất cả mã nguồn. Trong lúc đó, mô hình môi trường dảnh cho di dộng thì có những cách tiếp cận khác, cụ thể, các nhà phát triển và nhà sản xuất ứng dụng di động có thể dễ dàng gỡ bỏ những mã nguồn có ẩn chứa mối đe dọa mà không gây ảnh hưởng đến các ứng dụng khác đã được xuất bản.

Cơ chế triển khai CTS của ứng dụng được coi là lý tưởng khi có cả 2 CTS: nhận dạng nhà sản xuất ứng dụng và xác thực nội dung. Trong hầu hết các trường hợp, nếu CTS xuất phát từ một nguồn đáng tin cậy thì ứng dụng sẽ tự động được chấp thuận hay đưa ra lời cảnh báo nhăc người dùng cuối nên xem lại thông tin chữ ký số để quyết định có chấp nhận mã nguồn đó không. Ngoài ra một số nhà cung cấp mạng giảm thiểu rủi ro bằng cách chỉ chấp nhận các ứng dụng đã được ký số. Nếu chẳng may nền tảng di động, chẳng hạn như Windows Phone 7 không nhận biết được chữ ký của ứng dụng là hợp lệ, lúc đó khả năng ứng dụng sẽ không thể hoạt động.

Vai trò của cơ quan chứng thực

bannerdata

Nhiệm vụ của cơ quan chứng thực (Certification Authority – CA) là bảo đảm tính toàn vẹn của chữ ký số do tổ chức hợp pháp cấp. Trong suốt tiến trình đăng kí CTS, CA sẽ tập hợp thông tin về nhà sản xuất ứng dụng di động để kiểm tra tính xác thực. Tiến trình xác thực có thể mất vài giờ hay vài ngày phụ thuộc vào thông tin cung cấp và tùy thuộc vào mức độ kiểm tra thông tin ở mức khó hay dễ. Các hãng thứ 3, hay còn gọi là CA, có nhiệm vụ cấp phép CTS. CA sẽ kiểm tra tính xác thực của tất cả chứng thực. Chứng thực sẽ không hợp lệ nếu như CA không chứng nhận nó là hợp lệ. Để có một CTS, đầu tiên người dùng phải tạo một cặp khóa công khai/riêng tư, sau đó khóa công khai sẽ được đưa lên CA cùng thông điệp. Một chứng thực chỉ được tao ra sau khi CA kiếm tra tất cả chi tiết và trả về kết quả nguyên vẹn. Tiếp theo, người dùng có thể cài đặt chứng thực trên máy tính của mình. Để có thể nhận biết chữ ký số là thật, một số tùy chọn để kiểm tra tính xác thực là thông qua trình duyệt web, email, máy chủ web hay các ứng dụng khác. Một số CA phổ biến là Verisign, CommerceNet, COMODO, GlobalSign… Ở Việt Nam, hiện tại đang có các nhà cung cấp dịch vụ CA là VNPT, FPT, Viettel, NacencommSCT, BKAV.

Trong trường hợp các nha phát triển muốn gửi ứng dụng di động lên Windows Marketplace chẳng hạn, lúc này phần mềm phải được thông qua tiến trình CTS. Các nhà phát triển buộc phải ký số trên từng nội dung cập nhật trước khi ứng dụng có mặt trên danh muc kho ứng dụng. Sau đó, Microsoft hay Apple… sẽ giám sát các ứng dụng và cố thể gỡ những CTS liên quan đến malware nếu như phát hiện ra trong lúc dò tìm.

CTS rõ ràng là một trong những phương thức có thể giúp quá trình tải ứng dụng trên smartphone trở nên an toàn hơn và giúp các nhà sản xuất ứng dụng di động có thể tự bảo vệ chính khách hàng của họ.

Một số thuật ngữ

Chữ ký số (Digital Signature): được dùng để kiếm tra thông điệp gốc. Dữ liệu trong chữ ký số được gắn với khóa riêng tư. Trong ví dụ này, anh An muốn gửi một bức thư tình cho chị Thúy. Anh An cũng muốn rằng chỉ chị Thúy đọc được này do chính anh gửi đến.

Trong hình minh họa, bức thư ở dạng thông điệp gốc. Tại đây, một thuật toán hash thích hợp được chọn để xử lý thông điệp của bức thư và tạo ra một digest. Tiếp theo, khóa riêng tư của người gửi sẽ được dùng để mã hóa digest này. Digest đã mã hóa sẽ được gắn vào thông điệp của bức thư và gửi đến người nhận qua được Internet.

1

Chứng thực số (Digital Certificate)

Trong môi trường khóa công khai, bản thân người dùng không thể tự bảo đảm tính xác thực của khóa công khai mà người đó đang dùng vì khóa có thể bị giả mạo. Trong thực tế, hầu hết ở các trường hợp thì người dùng không hề biết họ đang trao đổi khóa công khai với ai. Trong tình huống này, chứng thực số chính là “vũ khí” tuyệt với để giúp người dùng có thể kiểm tra tính xác thực của khóa. Nói cách đơn giản, chứng thực số là những tài liệu mà trong đó có những nội dung chứng minh khóa đó là thật.

Thông qua các hãng thứ 3, chứng thực số sẽ được cung cấp dễ dàng và thuận tiện để đảm bảo sự tin cậy giữa các bên tham gia, chẳng hạn tiến trình giao dịch trực tuyến. Chứng thực số sẽ giúp kiểm tra tính xác thực của người dùng gắn với khóa công khai, sau đó ký số trên chứng thực đó bằng cách dùng khóa riên tư.

Chứng thực là một dạng tương tự bằng lái xe, hộ chiếu, giấy CMND… để giúp nhận diện ai là chủ nhân thật sự.

Một chứng thực số bao gồm:

– Khóa công khai.

– Thông tin chứng thực bao gồm tên người dùng và mã số riêng của người dùng.

– Chữ ký số.

2

PKC

Mã hóa công khai còn có tên gọi khác là mã hóa bất đối xứng. Nó được thiết kế sao cho khóa sử dụng trong quá trỉnh mã hóa sẽ khác biệt với khóa được sử dụng trong quá trình giải mã. Ngoài ra, khóa sử dụng trong quá trình giải mã không thể được tính toán dùng để mã hóa và ngược lại. Thuật toán này được gọi là mã hóa công khai vì khóa dùng cho việc mã hóa được công khai cho tất cả mọi người. Một người nào đó cũng có thể dùng khóa này để mã hóa dữ liệu nhưng chỉ duy nhất người có khóa giải mã tương ứng mới có thể đọc được dữ liệu. Do đó, trong thuật toán này có 2 loại khóa: public key (khóa dùng để mã hóa) và private key (khóa dùng để giải mã).

(Tham khảo PCWorld Vietnam)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s