Tải bản đầy đủ (.ppt) (34 trang)

GIAO THỨC SSH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (183.58 KB, 34 trang )

GIAO THỨC SSH


SSH—Secure Shell
• Thay thế telnet, rlogin,…
• Được khởi đầu từ một dự án của một trường
Đại học tại phần lan
• SSH1 ngừng sử dụng vào 1995 do lỗi về bảo
mật
• SSH2 đang được sử dụng


Chức năng và dịch vụ của SSH
• Dịch

vụ cung cấp

– Bí mật
– Toàn vẹn
– Xác thực

• Chức năng
– Đảm bảo thực hiện các lệnh từ xa an toàn (Secure command
shell, remote execution of commands)
– Đảm bảo truyền file an toàn
– Tạo các tunnel truyền dữ liệu cho các ứng dụng dựa trên
TCP/IP


Kiến trúc bộ giao thức SSH
• Phía Server: Giao thức SSH transport layer


protocol (TLP)
– Đảm bảo tính xác thực, bí mật và toàn vẹn
• Phía Client: Giao thức xác thực người dùng
UAP- user authentication protocol
• Giao thức kết nối: CP (SSH connection
protocol )
– Thiết lập các phiên đăng nhập, thực hiện các lệnh từ xa,
chuyển hướng các kết nối TCP/IP
• Chạy trên cả hai giao thức dành cho Server và client

Connection
User Authentication
Transport Layer


Giao thức SSH Transport Layer


Giao thức tầng vận tải (SSH
transport layer protocol)





Client khởi tạo kết nối đến Server
Thực hiện trao đổi chuỗi định danh
Trao đổi thuật toán mã hoá
Trao đổi khoá



Thiết lập kết nối
• Client khởi tạo kết nối tới cổng 22 của Server
• Khi kết nối được thiết lập cả Client và Server sẽ
gửi cho nhau thông tin phiên bản đó là chuỗi ID ở
dạng
SSH-protoversion-softwareversion
comments”


Trao đổi khoá
• Cả Client và Server đều có danh sách các
thuật toán mã hoá sử dụng. Mỗi phía thực hiện
chọn một thuật toán sử dụng và gửi khoá khởi
tạo tương ứng cho phía bên kia
• Nếu sự lựa chọn này trùng nhau thì thuật toán
đó sẽ được sử dụng
• Nếu thuật toán lựa chọn khác nhau thì thủ tục
này sẽ được lặp lại ở phía Client


Giao thức và phương pháp xác
thực người dùng


Giao thức và phương pháp xác
thực
• Giao thức xác thực
• Phương pháp xác thực
– Dựa trên khoá công khai

– Dựa trên mật khẩu
– Dựa trên định danh máy (host based)


Giao thức xác thực người dùng
– Được sử dụng để chạy trên giao thức tầng vận tải SSH
– Nó được sử dụng với giả định các giao thức phía dưới cung
cấp tính toàn vẹn và bí mật


Giao thức xác thực người dùng
– Dịch vụ cho giao thức này là “ssh-userauth”
– Khi bắt đầu thực hiện, nó nhận định danh phiên làm việc, nó
được sử dụng cho việc ký để chứng nhận người sở hữu khoá
bí mật


Giao thức xác thực người dùng

• Client gửi yêu cầu xác thực
SSH_MSG_USERAUTH_REQUEST mà không có
phương pháp xác thực cụ thể
• Yêu cầu này là bước lấy danh sách các phương
pháp xác thực được chấp nhận


Giao thức xác thực người dùng

• Server sẽ trả lời với thông điệp và kèm theo
danh sách các phương pháp xác thực mà

server hỗ trợ
• Điều này sẽ cho phép Server chủ động trong
quá trình xác thực
• Client có thể lựa chọn phương pháp xác thực
từ danh sách trên


Giao thức xác thực người dùng

– Thời gian chờ cho việc xác thực trong thời gian khoảng 10

phút
– Có hạn định số lần đăng nhập không thành công trong một
phiên làm việc
– Nếu vượt quá ngưỡng thì server sẽ ngắt kết nối


Giao thức xác thực người dùng
Định dạng thông điệp request của Client:
byte
string

SSH_MSG_USERAUTH_REQUEST
user name
(in ISO-10646 UTF-8 encoding [RFC2279])
string service name (in US-ASCII)
string method name (US-ASCII)


Giao thức xác thực người dùng

Cấu trúc thông báo xác thực thất bại
byte
SSH_MSG_USERAUTH_FAILURE
string
authentications that can continue
boolean partial success

Cấu trúc thông báo thành công từ Server
byte

SSH_MSG_USERAUTH_SUCCESS


Phương pháp xác thực
Phương pháp sử dụng khoá công khai:
– Xác thực được thực hiện bằng cách gửi chữ ký được tạo ra với
khoá bí mật của người sử dụng
– Người dùng gửi yêu cầu lấy thuật toán khoá công khai sử dụng
– Server sẽ từ chối yêu cầu nếu như nó không hỗ trợ thuật toán đó


Phương pháp xác thực

Phương pháp sử dụng khoá công khai









Nếu hỗ trợ nó sẽ gửi thông điệp
SSH_MSG_USERAUTH_PK_OK
Sau khi quyết định thuật toán sử dụng, người
dùng gửi thông điệp đã được ký
Server phải kiểm tra xem khoá và chữ ký hợp
lệ không
Nếu cả hai đều hợp lệ thì người dùng được
xác thực


Phương pháp xác thực

Phương pháp sử dụng mật khẩu:
Người dùng gửi gói sau:
SSH_MSG_USERAUTH_REQUEST

Mật khẩu được truyền đi trong gói ở dạng rõ nhưng
toàn bộ gói tin đã được mã hoá bởi tầng vận tải


Phương pháp xác thực

Phương pháp xác thực dựa trên định danh máy (host)
Được thực hiện qua việc client gửi chữ ký được
tạo ra với khóa bí mật của máy client, và Server
kiểm tra bằng cách sử dụng khóa công khai của
host đó
Một khi định danh máy client được thiết lập, sự

xác thực sẽ được dựa trên tên người dùng


Giao thức kết nối


Giao thức kết nối (SSH
connection protocol)
• Cung cấp các phiên đăng nhập, thực hiện các
lệnh từ xa, chuyển hướng các kết nối TCP/IP
• Tất cả các kênh được ghép vào một tunnel
được mã hóa
• Được thiết kế để chạy trên tầng vận tải SSH và
giao thức xác thực người dùng


Giao thức kết nối





Kênh (Channel)
Mở kênh (Open channel)
Truyền dữ liệu
Đóng kết nối


Cơ cấu kênh truyền
• Tất cả các phiên làm việc dạng terminal,

chuyển hướng kết nối là các kênh (channels)
• Mở kênh, truyền dữ liệu, đóng kênh
• Cũng có thể mở một kênh và những kênh này
được ghép vào một kết nối
• Những kênh này được định danh bởi các số
• Các yêu cầu mở một kênh chứa số kênh của
người gửi.


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×