BÀI TIỂU LUẬN MÔN BẢO MẬT : VẤN ĐỀ XÁC THỰC THÔNG TIN VÀ CHỮ KÝ SỐ Xác thực (Authentication protocols) là một hành động nhằm thiết lập hoặc chứng thực một cái gì đó (hoặc một người nào đó) đáng tin cậy, có nghĩa là, những lời khai báo do người đó đưa ra hoặc về vật đó là sự thật. Xác thực một đối tượng còn có nghĩa là công nhận nguồn gốc của đối tượng, trong khi, xác thực một người thường bao gồm việc thẩm tra nhận dạng của họ. Việc xác thực thường phụ thuộc vào một hoặc nhiều nhân tố xác thực (authentication factors) để minh chứng cụ thể. I. Vấn đề xác thực trong an toàn thông tin: A. Phân loại xác thực B. Các nhân tố xác thực C. Xác thực mạnh nhiều yếu tố D. Một vài công cụ xác thực II. Chữ ký số: A. Khái quát về chữ ký điện tử B. Vấn đề an toàn của chữ ký điện tử C. Ứng dụng D. Cơ sở hạ tầng về mật mã khóa công khai
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TPHCM
BÀI TIỂU LUẬN MÔN BẢO MẬT
TÊN ĐỀ TÀI : VẤN ĐỀ XÁC THỰC THÔNG TIN VÀ CHỮ KÝ SỐ
GIẢNG VIÊN: TH.S TRƯƠNG VĂN THÔNG SINH VIÊN THỰC HIỆN:
TRẦN MINH VŨ – 09261231
Trang 2MỤC LỤC
I Vấn đề xác thực trong an toàn thông tin: 2
A Phân loại xác thực 2
B Các nhân tố xác thực 3
C Xác thực mạnh nhiều yếu tố 3
D Một vài công cụ xác thực 4
II Chữ ký số: 9
A Khái quát về chữ ký điện tử 9
B Vấn đề an toàn của chữ ký điện tử 10
C Ứng dụng 12
D Cơ sở hạ tầng về mật mã khóa công khai 14
Trang 3I Vấn đề xác thực thông tin:
Xác thực (Authentication protocols) là một hành động nhằm thiết lập hoặc chứng thực một cái gì đó (hoặc một người nào đó) đáng tin cậy, có nghĩa là, những lời khai báo do người đó đưa ra hoặc về vật đó là sự thật Xác thực một đối tượng còn có nghĩa là công nhận nguồn gốc của đối tượng, trong khi, xác thực một người thường bao gồm việc thẩm tra nhận dạng của họ Việc xác thực thường phụ thuộc vào một hoặc nhiều nhân tố xác thực (authentication factors) để minh chứng cụ thể
Trong an ninh máy tính, xác thực là một quy trình nhằm cố gắng xác minh
nhận dạng số của phần truyền gửi thông tin trong giao thông liên lạc chẳng hạn như một yêu cầu đăng nhập Phần gửi cần phải xác thực có thể là một người dùng
sử dụng một máy tính, bản thân một máy tính hoặc một chương trình ứng dụng máy tính Ngược lại sự tin cậy mù quáng hoàn toàn không thiết lập sự đòi hỏi nhận dạng, song chỉ thiết lập quyền hoặc địa vị hẹp hòi của người dùng hoặc của chương trình ứng dụng mà thôi
Trong một mạng lưới tín nhiệm, việc xác thực là một cách để đảm bảo rằng người dùng chính là người mà họ nói họ là, và người dùng hiện đang thi hành những chức năng trong một hệ thống, trên thực tế, chính là người đã được ủy quyền để làm những việc đó
A Phân loại xác thực
Xác thực thực thể (Entity Authentication)
Xác thực thực thể là xác thực định danh của một đối tượng tham gia giao thức truyền tin Thực thể hay đối tượng có thể là người dùng, thiết bị đầu cuối Tức là một thực thể được xác thực bằng định danh của nó đối với thực thể thứ hai trong một giao thức, và bên thứ hai đã thực sự tham gia vào giao thức
Xác thực dữ liệu (Data Authentication)
Xác thực dữ liệu là một kiểu xác thực đảm bảo một thực thể được chứng thực là nguồn gốc thực sự tạo ra dữ liệu này ở một thời điểm nào đó, đảm bảo tính toàn vẹn dữ liệu
Trang 4B Các nhân tố xác thực
Những nhân tố xác thực (authentication factors) dành cho con người nói chung được phân loại theo ba trường hợp sau:
Những cái mà người dùng sở hữu bẩm sinh (Something the user is): chẳng
hạn, vết lăn tay hoặc mẫu hình võng mạc mắt, chuỗi DNA, mẫu hình về giọng nói,
sự xác minh chữ ký, tín hiệu sinh điện đặc hữu do cơ thể sống tạo sinh (unique bio-electric signals), hoặc những biệt danh sinh trắc (biometric identifier)
Những cái gì người dùng có (Something the user possesses): chẳng hạn,
chứng minh thư (ID card), chứng chỉ an ninh (security token), chứng chỉ phần mềm (software token) hoặc điện thoại di động (cell phone)
Những gì người dùng biết (Something the user knows): chẳng hạn, mật khẩu, mật khẩu ngữ (pass phrase) hoặc số định danh cá nhân (PIN)
C Xác thực mạnh nhiều yếu tố
Hình thức xác thực dựa vào những gì thực thể biết (mã định danh PIN, mật khẩu ) bộc lộ nhiều hạn chế, vì trí nhớ của con người là có hạn, không thể cùng một lúc nhớ được quá nhiều thông tin Hơn thế nữa, những thứ mà người dùng biết
để đăng nhập hệ thống là những thứ được sử dụng lại nhiều lần mỗi khi xác thực,
có thể vì một lý do nào đó thông tin này bị nghe trộm hay lộ ra ngoài và kẻ xấu rất
dễ lợi dụng những sơ hở đó để giả danh người dùng nhằm thực hiện những hành vi bất hợp pháp Những hệ thống xác thực như vậy được gọi là xác thực yếu, cần phải có một giải pháp an toàn hơn việc sử dụng đi sử dụng lại nhiều lần một cách đăng nhập Một tổ hợp của những phương pháp trên được kết hợp để sử dụng, chẳng hạn, thẻ ngân hàng kết hợp với số định danh cá nhân PIN Trong những trường hợp này, thuật ngữ được dùng là xác thực hai nhân tố (two-factor authentication)
Trong lịch sử, vết lăn tay được dùng là một phương pháp xác minh đáng tin nhất, song trong những vụ kiện tòa án gần đây ở Mỹ và ở nhiều nơi khác, người ta
đã có nhiều nghi ngờ có tính chất căn bản, về tính đáng tin cậy của dấu lăn tay Những phương pháp sinh trắc khác được coi là khả quan hơn (quét võng mạng mắt
Trang 5và quét vết lăn tay là vài ví dụ), song có những bằng chứng chỉ ra rằng những phương pháp này trên thực tế dễ bị giả mạo
Trong ngữ cảnh của dữ liệu máy tính, nhiều phương pháp mật mã đã được xây dựng như chữ ký số và phương pháp xác thực bằng thử thách-trả lời
(challenge-response authentication) Đây là ví dụ về vấn đề không thể giả mạo được nếu chìa khóa của người khởi thủy không bị thỏa hiệp Rằng việc người khởi thủy hay bất cứ ai ngoài kẻ tấn công biết (hoặc không biết) về một sự thỏa hiệp nào đấy là một việc chẳng có dính dáng gì hết Không ai có thể chứng minh được những phương pháp xác thực dùng mật mã này có an toàn hay không, vì có thể những tiến triển trong toán học không lường trước được có thể làm cho chúng, sau này, trở nên dễ bị phá vỡ Nếu xảy ra, thì việc này sẽ làm cho những phương pháp xác minh được dùng trong quá khứ trở nên không tin cậy Cụ thể là, một bản giao kèo được ký bằng chữ điện tử có thể sẽ bị nghi ngờ về tính trung thực của nó khi người ta phát hiện ra một tấn công mới đối với kỹ thuật mật mã dùng trong các chữ ký
Một giải pháp được đưa ra là việc kết hợp nhiều yếu tố xác thực lại để tạo ra một hệ thống an toàn hơn, bảo mật hơn Một hệ thống như vậy gọi là xác thực mạnh nhiều yếu tố Khi thực thể bị lộ một vài thông tin thì kẻ gian chưa thể hoàn toàn làm chủ được hệ thống Hình thức kết hợp nhiều yếu tố lại hiển nhiên an toàn hơn hẳn so với việc chỉ sử dụng một yếu tố để xác thực
D Một vài công cụ xác thực
Username và Password
Sự kết hợp của một username và password là cách xác thực cơ bản nhất Với kiểu xác thực này, chứng từ ủy nhiệm người dùng được đối chiếu với chứng từ được lưu trữ trên CSDL hệ thống , nếu trùng khớp username và password, thì người dùng được xác thực và nếu không người dùng bị cấm truy cập Phương thức này không bảo mật lắm vì
chứng từ xác nhận người dùng được gửi đi xác thực trong tình trạng plain text, tức không
được mã hóa và có thể bị tóm trên đường truyền
Chữ ký số
Với những thỏa thuận thông thường, hai đối tác xác nhận sự đồng ý bằng cách kí tay vào cuối các hợp đồng Và bằng cách nào đó người ta phải thể hiện đó
Trang 6là chữ ký của họ và kẻ khác không thể giả mạo Mọi cách sao chép trên văn bản thường dễ bị phát hiện vì bản sao có thể phân biệt được với bản gốc
Các giao dịch trên mạng cũng được thực hiện theo cách tương tự như vậy Nghĩa là người gửi và người nhận cũng phải ký vào hợp đồng Việc ký trên các văn bản truyền qua mạng khác với văn bản giấy bình thường bởi nội dung của văn bản đều được biểu diễn dưới dạng số hóa (chỉ dùng hai số 0 và 1, ta gọi văn bản này là văn bản số) Việc giả mạo và sao chép lại đối với văn bản số là việc hoàn toàn dễ dàng và không thể phân biệt được bản gốc với bản sao Vậy một chữ ký ở cuối văn bản loại này không thể chịu trách nhiệm đối với toàn bộ nội dung văn bản Một chữ ký thể hiện trách nhiệm đối với toàn bộ văn bản phải là chữ ký được
ký trên từng bit văn bản
Chữ ký số có thể được kiểm tra nhờ dùng một thuật toán kiểm tra công khai Như vậy, bất kỳ ai cũng có thể kiểm tra được chữ ký số
Chứng chỉ số
Chứng chỉ số là một “chứng nhận” khóa công khai của thực thể nào đó Nó bao gồm khoá công khai của thực thể và các thông tin định danh của thực thể Hai thành phần này gắn kết với nhau thông qua chữ ký của nhà phát hành chứng chỉ Chứng chỉ số đảm bảo một cách chính xác đối tượng với những thông tin định danh tường minh trên, nó sở hữu một khoá bí mật tương ứng Dựa vào điều kiện trên mà đối tượng có thể truy cập vào các hệ thống xác thực, hoặc thực hiện các kết nối an toàn
Chứng chỉ số chỉ có ý nghĩa khi nó đựơc ký bởi nhà phát hành chứng chỉ (Certificate Authority - CA) Bởi nếu không có chữ ký của nhà phát hành chứng chỉ thì không có mối liên hệ giữa khoá công khai của thực thể và thông tin định danh, đồng nghĩa chứng chỉ số vô giá trị Như vậy chứng chỉ số phải tồn tại trong một hệ thống mà ở đó nhà phát hành chứng chỉ là một nhân tố quan trọng Mặt khác chứng chỉ cũng có thời gian sử dụng nhất định nên nó cần được thu hồi khi cần thiết và trạng thái thu hồi của chứng chỉ cũng phải được công bố rộng rãi cho toàn bộ hệ thống thông qua danh sách thu hồi chứng chỉ (CRL - Certificate Revocation List)
Trang 7Trong mô hình xác thực bằng chứng chỉ Người sử dụng có thể xác thực anh
ta bằng cách trình cho hệ thống chứng chỉ của chính mình Thông qua chữ ký của nhà phát hành chứng chỉ trên khoá công khai và các thông tin định danh, anh ta có thể chứng minh rằng mình đang sở hữu một khoá riêng tương ứng Khoá riêng thường có giá trị rất lớn và thường được lưu trong các file được bảo vệ bởi mật khẩu, hoặc trong các phần cứng như thẻ thông minh
Các file hay một số loại thẻ thông minh (lưu trữ và bảo vệ khóa riêng, ví dụ như thiết bị Entrust Ikey) được bảo vệ bởi mật khẩu hoặc số PIN Để xác thực chính mình, người dùng phải đưa ra những thông tin về mật khẩu hoặc số PIN mà chỉ có người đó mới biết Với thông tin đó, hệ thống mới có thể truy nhập vào thiết
bị lưu trữ khóa riêng để sử dụng khoá riêng của người dùng phục vụ cho việc xác thực Thông qua các thao tác toán học hệ thống chứng minh sự tương ứng giữa khoá riêng và khoá công khai có trong chứng chỉ Mặt khác khoá công khai và các thông tin định danh được gắn kết với nhau thông qua chữ ký của nhà phát hành chứng chỉ nên danh tính của người dùng được xác thực
Một cơ chế khác là sử dụng các giao thức mã hoá với thẻ thông minh để chứng minh rằng người sử dụng sở hữu khoá riêng tương ứng Khoá riêng được lưu trong thẻ thông minh, hệ thống xác thực cung cấp một thông tin Thẻ thông minh sử dụng khoá riêng mã hoá thông tin đó và gửi trả lại cho hệ thống Hệ thống
sử dụng khoá công khai trên chứng chỉ giải mã để lấy lại thông tin ban đầu Nếu hai thông tin là giống nhau thì chứng tỏ một điều là thẻ thông minh có chứa một khoá riêng tương ứng Như thế người sử dụng được xác thực
Việc ứng dụng cơ chế nào cho hệ thống là tuỳ thuộc vào cơ sở hạ tầng vật lý
và hoàn cảnh ứng dụng mà ta sử dụng Dù ứng dụng cơ chế xác thực bằng chứng chỉ nào, thì đều phải được xây dựng trên sự tin tưởng vào nhà phát hành chứng chỉ Vì nếu chứng chỉ bị giả mạo hay nhà phát hành chứng chỉ làm giả chứng chỉ, thì hệ thống của ta sụp đổ hoàn toàn Như vậy về bản chất cơ chế xác thực có được
là do chữ ký của nhà phát hành chứng chỉ, tức là nhà phát hành chứng chỉ đã chứng minh các thông tin định danh của người sử dụng thông qua chữ ký của mình
Trang 8Challenge Handshake Authentication Protocol (CHAP)
Challenge Handshake Authentication Protocol (CHAP) cũng là mô hình xác thực dựa trên username/password Khi user cố gắng logon vào hệ thống, server đảm nhiệm vai trò xác thực sẽ gửi một thông điệp thử thách (challenge message) trở lại máy tính user Lúc này máy tính user sẽ phản hồi lại username và password được mã hóa Server xác thực sẽ so sánh phiên bản xác thực user được lưu giữ với phiên bản mã hóa vừa nhận, nếu trùng khớp, user sẽ có quyền truy cập Bản thân password không bao giờ được gửi qua network Phương thức CHAP thường được
sử dụng khi user logon vào các remote servers của công ty chẳng hạn như RAS server Dữ liệu chứa password được mã hóa gọi là password băm (hash password) Một gói băm là một loại mã hóa không có phương cách giải mã
Kerberos
Xác thực Kerberos dùng một Server trung tâm để kiểm tra việc xác thực user
và cấp phát thẻ thông hành (service tickets) để user có thể truy cập vào tài nguyên Kerberos là một phương thức rất an toàn trong xác thực bởi vì nó dùng cấp độ mã hóa rất mạnh Kerberos cũng dựa trên độ chính xác của thời gian xác thực giữa Server và Client Computer, và là nền tảng xác thực chính của nhiều hệ điều hành như Unix, Windows…
Tokens
Tokens là phương tiện vật lý như các thẻ thông minh (smartcards) hoặc thẻ đeo của nhân viên (ID badges) chứa thông tin xác thực Tokens có thể lưu trữ số nhận dạng cá nhân (PIN), thông tin về user, hoặc password Các thông tin trên token chỉ có thể được đọc và xử lý bởi các thiết bị đặc dụng, ví dụ như thẻ smartcard được đọc bởi đầu đọc smartcard gắn trên máy vi tính, sau đó thông tin này được gửi đến server để xác thực Tokens chứa chuỗi text hoặc giá trị số duy nhất thông thường mỗi giá trị này chỉ sử dụng một lần
Smartcards là ví dụ điển hình về xác thực tokens Một smartcard là một thẻ nhựa có gắn một chip máy tính lưu trữ các loại thông tin điện tử khác nhau Nội dung thông tin của card được đọc với một thiết bị đặc biệt
Trang 9Biometrics (phương pháp nhận dạng sinh trắc học) là mô hình xác thực dựa trên đặc điểm sinh học của từng cá nhân Quét dấu vân tay (fingerprint scanner), quét võng mạc mắt (retinal scanner), nhận dạng giọng nói (voice-recognition), nhận dạng khuôn mặt (face-recognition) Vì nhận dạng sinh trắc học hiện rất tốn kém chi phí khi triển khai nên không được chấp nhận rộng rãi như các phương thức xác thực khác
Mutual Authentication
Mutual authentication (xác thực lẫn nhau) là kỹ thuật bảo mật mà mỗi thành phần tham gia giao tiếp với nhau kiểm tra lẫn nhau Trước hết server chứa tài nguyên kiểm tra “giấy phép truy cập” của client và sau đó client lại kiểm tra “giấy phép cấp tài nguyên” của server Điều này giống như khi bạn giao dịch với một server của ngân hàng, bạn cần kiểm tra server xem có đúng của ngân hàng không hay là một cái bẫy của hacker giăng ra, và ngược lại server ở ngân hàng sẽ kiểm tra bạn
Trang 10II Chữ ký số:
A Khái quát về chữ ký điện tử
Chữ ký số là thuật ngữ chỉ mọi phương thức khác nhau để một cá nhân, đơn
vị có thể "ký tên" vào một dữ liệu điện tử, thể hiện sự chấp thuận và xác nhận tính nguyên bản của nội dung dữ liệu đó
Được đưa vào mô hình của Semantic Web từ tầng thứ ba cùng với
RDF/RDFS, kéo lên đến tầng proof trong mô hình, chữ ký điện tử được coi là một thành phần quan trọng nhằm đảm bảo tính chính xác về mặt ngữ nghĩa của các tài liệu Semantic Web
Chữ ký số rất đa dạng, có thể là một tên hoặc hình ảnh cá nhân kèm theo dữ liệu điện tử, một mã khoá bí mật, hay một dữ liệu sinh trắc học (chẳng hạn như hình ảnh mặt, dấu vân tay, hình ảnh mống mắt ) có khả năng xác thực người gửi
Hình 1 Quá trình ký và kiểm tra chữ ký
Trang 11Chữ ký số được phát triển dựa trên lý thuyết mật mã, cụ thể là kỹ thuật mật
mã hoá công khai Trong mô hình này, một hệ mã khoá công khai sẽ có hai chìa khoá: Một chìa khoá công khai và một chìa khoá bí mật, mỗi chìa khoá là một số
cố định được sử dụng trong quá trình mã hoá và giải mã; trong đó, khoá công khai được công bố rộng rãi cho mọi người và được sử dụng để mã hoá, còn khoá bí mật thì được giữ kín và được sử dụng để giải mã
B Vấn đề an toàn của chữ ký điện tử
Chữ ký điện tử đã được ứng dụng và biết đến từ khá lâu Việt Nam cũng đã triển khai Theo nghị định 44 của Chính phủ, từ năm 2002 đã thừa nhận các yếu tố của chứng từ điện tử và chữ ký điện tử trong thanh toán của hệ thống ngân hàng
Luật Giao dịch điện tử Việt Nam, điều 4 định nghĩa:
Chứng thư điện tử là thông điệp dữ liệu do tổ chức cung cấp dịch vụ chứng thực chữ ký điện tử phát hành nhằm xác nhận cơ quan, tổ chức, cá nhân được chứng thực là người ký chữ ký điện tử
Chứng thực chữ ký điện tử là việc xác nhận cơ quan, tổ chức, cá nhân được chứng thực là người ký chữ ký điện tử
Dữ liệu là thông tin dưới dạng ký hiệu, chữ viết, chữ số, hình ảnh,
âm thanh hoặc dạng tương tự
Thông điệp dữ liệu là thông tin được tạo ra, được gửi đi, được nhận
và được lưu trữ bằng phương tiện điện tử
Vì vậy nhắc tới chữ ký điện tử, người ta nghĩ ngay đến sự an toàn và hữu dụng Chữ ký điện tử khác với các loại chữ ký khác như chữ ký tay rồi đưa quét lên trên hình ảnh hoặc là những chữ ký nhận dạng sinh học Chữ ký điện tử nó có hai phần, thứ nhất là nó chứa mật khẩu của mình, chỉ một mình mình biết, phần thứ hai là nó chứa những cái mã công cộng để tất cả mọi người thế giới đều có thể
sử dụng được, hai cái đấy kết hợp với nhau chắc chắn và bằng những thuật toán đã được xác định