Công nghệ xác thực cung cấp quyền kiểm soát truy cập cho các hệ thống, bằng cách kiểm tra xem thông tin đăng nhập của người dùng có khớp với thông tin đăng nhập trong cơ sở dữ liệu của người dùng được ủy quyền, hoặc trong máy chủ xác thực dữ liệu hay không. Từ Xác thực (authentication) có nguồn gốc từ tiếng Hy Lạp - αυθεντικός,” (authentikos), có nghĩa là “thật, chính gốc”
Về cơ bản, nếu thông tin được "xác thực", bạn biết ai đã tạo ra nó và bạn biết rằng nó không bị thay đổi theo bất kỳ cách nào, kể từ khi người đó tạo ra nó. Hai quy trình, mã hóa và xác thực, làm việc cùng nhau để tạo ra một môi trường an toàn. Xác thực rất quan trọng vì nó cho phép các tổ chức giữ an toàn cho mạng của họ, bằng cách chỉ cho phép người dùng (hoặc quy trình) được xác thực truy cập vào các tài nguyên được bảo vệ của nó.
Xác thực và cấp quyền (Authorization)
Sau khi được xác thực, người dùng hoặc quy trình thường phải tuân theo các quy trình cấp quyền, để xác định liệu thực thể được xác thực có được phép truy cập vào tài nguyên hoặc hệ thống được bảo vệ hay không. Một người dùng có thể được xác thực nhưng không được cấp quyền truy cập vào tài nguyên nếu người dùng đó không được cấp quyền truy cập.
Các điều khoản xác thực và cấp quyền thường được sử dụng thay thế cho nhau, nhưng chúng là hai chức năng riêng biệt. Mặc dù xác thực là quá trình xác thực danh tính của người dùng đã đăng ký, trước khi cho phép truy cập vào tài nguyên được bảo vệ, cấp quyền là quá trình xác thực rằng người dùng được xác thực đã được cấp quyền truy cập vào các tài nguyên được yêu cầu. Quá trình xác thực luôn đi trước quy trình cấp quyền.
Cách xác thực người dùng hoạt động
Trong quá trình xác thực, thông tin đăng nhập do người dùng cung cấp được so sánh với thông tin trong tệp trong cơ sở dữ liệu của người dùng được ủy quyền, trên hệ điều hành cục bộ hoặc thông qua máy chủ xác thực. Nếu thông tin đăng nhập khớp và thực thể được xác thực được phép sử dụng tài nguyên, quy trình được hoàn thành và người dùng được cấp quyền truy cập.
Theo truyền thống, xác thực được thực hiện bên trong doanh nghiệp bởi các hệ thống hoặc tài nguyên được truy cập. Một máy chủ sẽ xác thực người dùng bằng hệ thống mật khẩu riêng, được triển khai cục bộ, sử dụng ID đăng nhập (tên người dùng) và mật khẩu. Kiến thức về thông tin đăng nhập được giả định để đảm bảo rằng người dùng là xác thực. Nhưng điều này chủ yếu đã là quá khứ.
Trong các môi trường phân tán, hiện đại, việc mã hóa đạt được thông qua giao thức HTTPS không trạng thái. Điều này có nghĩa là không có thông tin nào được người gửi hoặc người nhận giữ lại, do đó, sẽ yêu cầu người dùng cuối xác thực mỗi khi họ truy cập tài nguyên bằng HTTPS. Điều đó sẽ tốn thời gian và sẽ làm người dùng thất vọng. Thay vào đó, các hệ thống được bảo vệ dựa vào xác thực dựa trên mã thông báo, trong đó xác thực được thực hiện một lần khi bắt đầu phiên. Hệ thống xác thực phát hành mã thông báo xác thực đã ký cho ứng dụng người dùng cuối, và mã thông báo đó được thêm vào mọi yêu cầu từ máy khách.
Các yếu tố xác thực
Xác thực người dùng bằng ID người dùng và mật khẩu thường được coi là loại xác thực cơ bản nhất, và tùy thuộc vào người dùng biết hai thông tin: ID người dùng hoặc tên người dùng và mật khẩu. Vì loại xác thực này chỉ dựa vào một yếu tố xác thực, nên nó là loại xác thực một yếu tố.
Một yếu tố xác thực đại diện cho một số dữ liệu hoặc thuộc tính có thể được sử dụng để xác thực người dùng yêu cầu quyền truy cập vào hệ thống. Một câu ngạn ngữ bảo mật cũ cho rằng các yếu tố xác thực có thể là "thứ bạn biết, thứ bạn có hoặc thứ gì đó thuộc về nhận dạng của bạn". Ba yếu tố này tương ứng với yếu tố kiến thức, yếu tố sở hữu và yếu tố kế thừa.
Yếu tố kiến thức: "Một cái gì đó bạn biết." Yếu tố kiến thức có thể là bất kỳ thông tin xác thực bao gồm thông tin mà người dùng sở hữu, bao gồm số nhận dạng cá nhân (PIN - personal identification number), tên người dùng, mật khẩu hoặc câu trả lời cho câu hỏi bí mật
Yếu tố sở hữu: "Thứ bạn có". Yếu tố sở hữu có thể là bất kỳ thông tin xác thực nào dựa trên các vật phẩm mà người dùng có thể sở hữu và mang theo bên mình, bao gồm các thiết bị phần cứng như mã thông báo bảo mật (token key) hoặc điện thoại di động được sử dụng để chấp nhận tin nhắn văn bản hoặc chạy ứng dụng xác thực có thể tạo mật khẩu một lần hoặc mã PIN.
Yếu tố kế thừa: "Một thứ gì đó thuộc về nhận dạng của bạn". Yếu tố kế thừa thường dựa trên một số dạng nhận dạng sinh trắc học, bao gồm ngón tay hoặc dấu vân tay, nhận dạng khuôn mặt, quét võng mạc hoặc bất kỳ dạng dữ liệu sinh trắc học nào khác.
Xác thực hai yếu tố (2FA – two factor authentication) cung cấp thêm một lớp bảo vệ và yêu cầu người dùng cung cấp yếu tố xác thực thứ hai bên cạnh mật khẩu. Các hệ thống 2FA thường yêu cầu người dùng nhập mã xác minh nhận được qua tin nhắn văn bản trên điện thoại di động đã đăng ký trước hoặc mã được tạo bởi ứng dụng xác thực.
Xác thực người dùng và Xác thực máy
Máy cũng cần cho phép các hành động tự động của chúng trong một mạng. Xác thực máy (Machine authentication) là ủy quyền của giao tiếp tự động giữa người với máy hoặc máy với máy (M2M) thông qua xác minh chứng chỉ kỹ thuật số hoặc thông tin kỹ thuật số. Nhận dạng máy, chẳng hạn như chứng chỉ kỹ thuật số, được sử dụng trong ủy quyền máy giống như một hình thức hộ chiếu kỹ thuật số, cung cấp nhận dạng đáng tin cậy cho mục đích trao đổi thông tin an toàn qua Internet.
Chứng chỉ kỹ thuật số hoặc chứng thư số
Chứng chỉ kỹ thuật số, còn được gọi là chứng chỉ khóa công khai, được sử dụng để liên kết mật mã quyền sở hữu của khóa công khai với thực thể sở hữu nó. Chứng chỉ kỹ thuật số được sử dụng để chia sẻ các khóa công khai được sử dụng để mã hóa và xác thực. Chứng chỉ kỹ thuật số bao gồm khóa công khai được chứng nhận, những thông tin xác định về thực thể sở hữu khóa công khai, siêu dữ liệu liên quan đến chứng chỉ kỹ thuật số và chữ ký số của khóa công khai được tạo bởi người phát hành chứng chỉ. Việc phân phối, xác thực và thu hồi chứng chỉ số là mục đích chính của cơ sở hạ tầng khóa công khai (PKI - public key infrastructure), hệ thống mà theo đó các khóa công khai được phân phối và xác thực.
Mật mã khóa công khai phụ thuộc vào các cặp khóa: một khóa riêng được chủ sở hữu nắm giữ và sử dụng để ký và giải mã, và một khóa công khai có thể được sử dụng để mã hóa dữ liệu gửi cho chủ sở hữu khóa công khai, hoặc xác thực các chứng chỉ dữ liệu đã ký của chủ sở hữu. Chứng chỉ kỹ thuật số cho phép các thực thể chia sẻ khóa chung của họ theo cách có thể được xác thực. Phần lớn các chứng chỉ kỹ thuật số được cấp bởi cơ quan chứng nhận (CA - certificate authority). CA được coi là bên thứ ba đáng tin cậy trong bối cảnh PKI. Sử dụng một bên thứ ba đáng tin cậy để cấp chứng chỉ kỹ thuật số cho phép các cá nhân mở rộng niềm tin của họ đối với các cơ quan chứng nhận và độ tin cậy của chứng chỉ kỹ thuật số mà họ phát hành.
Chữ ký số
Chữ ký số (digital signature) về cơ bản là một cách để đảm bảo rằng một tài liệu điện tử là xác thực. Tiêu chuẩn chữ ký số (DSS - Digital Signature Standard) dựa trên một loại phương thức mã hóa khóa công khai sử dụng Thuật toán chữ ký số (DSA - Digital Signature Algorithm). DSS là định dạng cho chữ ký điện tử đã được chính phủ Hoa Kỳ xác nhận. Thuật toán DSA bao gồm một khóa riêng, chỉ được biết bởi người khởi tạo tài liệu (người ký) và khóa công khai. Nếu bất cứ điều gì được thay đổi trong tài liệu sau khi chữ ký số được đính kèm, nó sẽ thay đổi giá trị mà chữ ký số so sánh, làm cho chữ ký trở nên không hợp lệ.
Các loại chứng thư số
Có ba loại chứng chỉ kỹ thuật số khác nhau được sử dụng bởi các máy chủ web và trình duyệt web để xác thực qua internet. Các chứng chỉ này thường được gọi là chứng chỉ SSL mặc dù giao thức SSL đã được thay thế bởi giao thức TLS (Transport Layer Security - Bảo mật tầng giao vận).
Chứng chỉ xác thực tên miền (DV - Domain Validated) cung cấp sự đảm bảo ít nhất về người giữ chứng chỉ. Người xin cấp chứng chỉ DV chỉ cần chứng minh rằng họ có quyền sử dụng tên miền. Mặc dù các chứng chỉ này có thể đảm bảo rằng dữ liệu được gửi và nhận bởi người giữ chứng chỉ, nhưng chúng không đảm bảo về thực thể đó là ai.
Chứng chỉ Tổ chức Xác thực (OV - Organization Validated) cung cấp đảm bảo bổ sung về người giữ giấy chứng nhận; Ngoài việc xác nhận rằng người nộp đơn có quyền sử dụng tên miền, những người đăng ký chứng chỉ OV còn được xác nhận thêm về quyền sở hữu của họ đối với tên miền.
Chứng chỉ Xác thực mở rộng (EV - Extended Validation) chỉ được cấp sau khi người nộp đơn có thể chứng minh danh tính của họ với sự hài lòng của cơ quan chứng nhận. Quá trình kiểm tra bao gồm xác minh sự tồn tại của thực thể xin cấp chứng chỉ, xác minh rằng danh tính phù hợp với hồ sơ chính thức, xác minh rằng thực thể được ủy quyền sử dụng tên miền và xác nhận rằng chủ sở hữu tên miền đã ủy quyền cấp giấy chứng nhận.
Với số lượng thiết bị hỗ trợ Internet ngày càng tăng, xác thực máy đáng tin cậy là rất quan trọng để cho phép sự liên lạc an toàn cho tự động hóa trong gia đình và các ứng dụng Internet of Things khác, nơi hầu hết mọi thực thể hoặc đối tượng có thể thực hiện trao đổi dữ liệu qua mạng. Điều quan trọng là phải nhận ra rằng mỗi điểm truy cập là một điểm xâm nhập tiềm năng. Mỗi thiết bị được nối mạng cần xác thực máy mạnh mẽ và mặc dù hoạt động thường bị hạn chế, các thiết bị này cũng phải được định cấu hình để truy cập quyền hạn chế, để hạn chế những gì có thể được thực hiện ngay cả khi chúng bị vi phạm.