Giao thức SSH là gì? Tìm hiểu chi tiết về giao thức Secure Shell

Giao thức SSH là gì?

Giao thức SSH (Secure Shell) là giao thức mạng để nối bảo mật giữa máy chủ và các thiết bị mạng trong hệ thống mạng. Với việc sử dụng mã hóa mạnh mẽ, giao thức SSH có vai trò bảo vệ dữ liệu và xác thực người dùng bằng khóa bảo vệ, đảm bảo rằng dữ liệu khi truyền qua môi trường môi trường mạng không bị đánh cắp và ngăn chặn các cuộc tấn công giả mạo.

Giao thức SSH là gì

Giao thức SSH xuất hiện trên hầu hết các hệ điều hành hiện nay. SSH quản lý hơn một nửa số máy chủ web trên thế giới. Giao thức này ra đời phiên bản đầu tiên SSH-1 năm 1995, để thay thế cho các giao thức không bảo mật Telnet và Rlogin. Đến năm 1998, SSH-1 bị phát hiện có lỗ hổng và được sửa đổi sang phiên bản SSH-2. Đây chính là phiên bản được sử dụng phổ biến nhất hiện nay.

SSH là một giao thức mã hóa để kết nối với dịch vụ mạng mở (không bảo mật) như Internet. SSH sử dụng các kỹ thuật mã hóa để đảm bảo rằng mọi giao tiếp đi từ máy chủ từ xa được diễn ra an toàn.

Các ứng dụng SSH dựa trên kiến ​​trúc máy khách – máy chủ, với máy khách SSH kết nối với Máy chủ SSH.

Nguyên lý hoạt động của giao thức SSH

Giao thức SSH hoạt động thế nào

Giao thức SSH sử dụng một loạt các thuật toán mã hóa và cơ chế xác thực để đảm bảo tính bảo mật và an toàn của kết nối. Về cơ bản, SSH hoạt động như sau:

  • Khi người dùng muốn kết nối vào một máy chủ qua SSH, họ cung cấp thông tin xác thực, chẳng hạn như tên người dùng và mật khẩu, hoặc sử dụng các phương pháp xác thực khác như cặp khóa SSH hoặc xác thực ghi chú. Thông tin này được mã hóa trước khi được gửi đến máy chủ.
  • Một khi xác thực thành công, máy chủ và người dùng thiết lập một phiên kết nối an toàn. Kết nối này được mã hóa để đảm bảo tính bí mật của dữ liệu truyền tải qua mạng.
  • Dữ liệu truyền tải qua kết nối SSH được mã hóa, điều này đảm bảo rằng người ngoài không thể đọc dữ liệu trong khi nó đang truyền qua mạng. SSH sử dụng mã hóa đối xứng để bảo vệ tính bí mật và toàn vẹn của dữ liệu.
  • Trong suốt phiên kết nối SSH, máy chủ và người dùng có khả năng thực hiện các lệnh và trao đổi dữ liệu. Máy chủ quản lý phiên này và thực hiện yêu cầu từ người dùng (ví dụ: đăng nhập, thực hiện lệnh, truyền tải tệp, vv.).
  • Khi phiên kết nối kết thúc hoặc người dùng thoát khỏi phiên, kết nối SSH sẽ được đóng. Dữ liệu cuối cùng được gửi và nhận trong kết nối này có thể được mã hóa để đảm bảo bảo mật đến cuối cùng.

Một lệnh gồm 3 phần riêng biệt: Lệnh SSH, Người dùng (user) và máy chủ

  • Lệnh SSH cho hệ thống biết bạn muốn mở kết nối mã hóa Secure Shell.
  • Người dùng đại diện cho tài khoản muốn truy cập.
  • Máy chủ đề cập đến máy tính bạn muốn truy cập có thể là địa chỉ IP hoặc tên miền (Ví dụ: vienthongxanh.vn).

Giao thức SSH có các kỹ thuật mã hóa nào?

1. Mã hóa đối xứng

Mã hóa đối xứng trong SSH

Mã hóa đối xứng sử dụng cùng một khóa để mã hóa và giải mã dữ liệu. Khóa này được gọi là “khóa bí mật.” Điều quan trọng là chỉ người nhận (hoặc máy chủ) và người gửi (hoặc thiết bị người dùng) biết về khóa bí mật. Các thuật toán mã hóa đối xứng phổ biến bao gồm AES (Advanced Encryption Standard), DES (Data Encryption Standard), và 3DES (Triple DES).

2. Mã hóa bất đối xứng

Mã hóa bất đối xứng trong SSH

Mã hóa bất đối xứng sử dụng một cặp khóa, gồm khóa riêng tư và khóa công khai. Khóa riêng tư được bảo quản bí mật, trong khi khóa công khai được công bố. Bất kỳ ai có khóa công khai có thể sử dụng nó để mã hóa dữ liệu và gửi cho người có khóa riêng tư tương ứng, người đó sẽ giải mã dữ liệu. Các thuật toán mã hóa bất đối xứng phổ biến bao gồm RSA và DSA.

3. Trao đổi khóa

Trao đổi khóa là quá trình mà máy chủ và thiết bị người dùng thỏa thuận về một khóa đối xứng chia sẻ để sử dụng trong suốt phiên kết nối. Các thuật toán trao đổi khóa, chẳng hạn như Diffie-Hellman và ECDH, cho phép máy chủ và người dùng tính toán một khóa chia sẻ mà người tấn công bên ngoài không thể tính toán được.

4. Mã hóa dữ liệu phiên

Mã hóa dữ liệu phiên áp dụng mã hóa đối xứng cho dữ liệu truyền qua kết nối SSH. Khi máy chủ và người dùng đã thỏa thuận về khóa đối xứng trong quá trình trao đổi khóa, khóa này được sử dụng để mã hóa dữ liệu trong suốt phiên kết nối, đảm bảo tính bí mật và toàn vẹn của dữ liệu truyền tải.

5. Hashing

Mã hóa Hashing trong SSH

Hashing là quá trình biến đổi một khối dữ liệu thành một chuỗi số hoặc chuỗi ký tự cố định, được gọi là “băm” hoặc “hash.” Hashing không thể đảo ngược, nghĩa là không thể từ hash suy ra dữ liệu gốc.

Chuyên viên Marketing at Công ty cổ phần Viễn Thông Xanh Việt Nam | + posts

Là chuyên viên phòng Marketing của Viễn Thông Xanh, tôi luôn trau dồi kiến thức về các sản phẩm công nghệ mới, đặc biệt là các giải pháp về mạng và cáp quang, để cung cấp thông tin giá trị nhất cho khách hàng.