Có an toàn khi đưa ra khóa công khai SSH của tôi cho công việc không?


60

Tôi hiện đang làm việc từ xa cho một số tổ chức cần tôi truy cập máy chủ của họ thường xuyên để bảo trì và nâng cấp. Tôi có an toàn khi thêm khóa SSH công khai RSA vào .ssh/authorized_keystệp để cho phép tôi đăng nhập nhanh hơn nhiều / không phải tra cứu mật khẩu không? Tôi hoạt động theo giả định rằng không thể tạo khóa riêng từ khóa công khai, nhưng tôi có đúng trong giả định của mình không?

Tiến lên một bước nữa, liệu có bất kỳ rủi ro bảo mật nào trong việc đăng nội dung của khóa công khai RSA của tôi lên internet không? Tôi biết rằng nếu lấy được khóa riêng của mình, tôi sẽ gặp nhiều rắc rối, nhưng ngoài điều đó ra, có bất kỳ mối đe dọa bảo mật thực sự nào không?


Câu trả lời:


77

Có, không thể khôi phục khóa riêng từ khóa chung. Nếu có thể, RSA sẽ bị phá vỡ cơ bản và đây sẽ là một tin tức lớn (phá vỡ RSA sẽ không chỉ phá vỡ nhiều bảo mật truyền thông Internet, mà còn cho phép tất cả các loại gian lận ngân hàng, trong số những người khác).

Đăng nhập bằng khóa chung thay vì mật khẩu trên thực tế có xu hướng tăng tính bảo mật. Nếu mật khẩu của bạn không đủ mạnh, nó có thể bị kẻ tấn công cưỡng bức với băng thông đủ lớn. Nếu kẻ tấn công không có bản sao của tệp khóa riêng của bạn, khóa RSA thực sự không thể bị ép buộc (khóa 1024 bit tương đương với mật khẩu 160 ký tự được tạo từ các chữ cái và chữ số phân biệt chữ hoa chữ thường) . Ai đó nhìn qua vai bạn có thể thấy mật khẩu và mật khẩu chính của bạn, nhưng với một chìa khóa, họ cũng cần lấy chìa khóa.

Khóa riêng không phải lúc nào cũng an toàn hơn mật khẩu. Nếu kẻ tấn công có được một bản sao của các tệp khóa riêng của bạn (ví dụ: bằng cách ăn cắp máy tính xách tay hoặc phương tiện sao lưu của bạn), cô ấy có thể cố gắng bắt bẻ cụm mật khẩu và cô ấy có thể làm điều đó với tốc độ cao vì bạn không có cách nào để hạn chế tỷ lệ (không giống như đoán mật khẩu cần được thực hiện trực tuyến). Nếu cụm mật khẩu của bạn đủ tốt và bạn nhận thấy hành vi trộm cắp ngay lập tức, bạn vẫn sẽ có thời gian để thu hồi chìa khóa.

Khóa công khai giới thiệu yếu tố phơi bày quyền riêng tư: nếu ai đó biết rằng bạn đã sử dụng cùng khóa công khai để đăng nhập vào A và đăng nhập vào B, họ biết chính người đó đã đăng nhập vào A và B. Chỉ sở hữu khóa chung khiến bạn một nghi ngờ rằng bạn cũng có khóa riêng, vì vậy bạn mất một số sự bất thường. Nhưng điều đó thường không đáng kể, đặc biệt nếu bạn chỉ lưu trữ khóa ở ~/.sshnơi chỉ quản trị viên hệ thống (những người cũng biết địa chỉ IP bạn đã đăng nhập) mới có thể nhìn thấy.

Những cân nhắc bảo mật sang một bên, một khóa riêng có nhiều lợi thế thực tế. Bạn không cần phải nhập mật khẩu thường xuyên và đặc biệt có thể chạy các tập lệnh tự động không nhắc bạn một khi bạn đã nhập khóa của mình vào ssh-agent hoặc tương tự. Bạn không cần phải nhập mật khẩu thường xuyên, vì vậy bạn có thể đủ khả năng để làm cho mật khẩu cao hơn (dài hơn, khó nhập hơn). Bạn không cần phải nhập mật khẩu thường xuyên, do đó sẽ ít có nguy cơ bị mật khẩu của người quan sát hoặc máy ảnh chụp lén.


@NaftuliTzviKay Trên thực tế có một cái gì đó nên được xem xét ở đây là một bỏ qua. Để sử dụng khóa chung của bạn, hệ thống mà bạn sử dụng phải có quyền truy cập vào khóa riêng của bạn. Tốt rồi. Nếu khóa riêng đó được lưu trữ trên hệ thống đó, nó dễ bị tấn công và hệ thống từ xa trở nên dễ bị tổn thương. Hai điều giúp với điều này, các thư mục nhà được mã hóa và mật khẩu trên khóa của bạn. Do đó, để đạt được sự gia tăng đầy đủ về bảo mật mà PKI cung cấp, bạn sẽ mất một số hiệu quả. Bạn hoặc tổ chức của bạn cần thực hiện phân tích rủi ro để xác định nơi sẽ vẽ đường.
Xalious

16

Câu trả lời của Gilles nói chung là tốt, ngoại trừ

... đặc biệt nếu bạn chỉ lưu trữ khóa trong ~ / .ssh nơi chỉ quản trị viên hệ thống (người cũng biết địa chỉ IP bạn đã đăng nhập từ đâu) mới có thể nhìn thấy.

Khóa ssh của bạn ~/.sshcũng có thể được đọc bởi bất kỳ phần mềm nào chạy trong tài khoản của bạn. Mà có lẽ là hầu hết các phần mềm bạn chạy. Vì vậy, bạn phải tin tưởng rằng phần mềm và những người đã viết nó.


2
Bạn phải luôn luôn sử dụng các khóa SSH được mã hóa vì lý do này
ItalyPaleAle
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.