Ý nghĩa và sự khác biệt giữa chủ đề, người dùng và hiệu trưởng là gì?


173

Trong ngữ cảnh của khung bảo mật, một số thuật ngữ thường xảy ra đối tượng , người dùnghiệu trưởng , trong đó tôi không thể tìm thấy một định nghĩa rõ ràng và sự khác biệt giữa chúng.

Vì vậy, chính xác những điều khoản này có nghĩa là gì, và tại sao những sự phân biệt về chủ đềhiệu trưởng cần thiết?

Câu trả lời:


277

Đây là thứ bậc theo cách mà chi, loài và cá thể được phân cấp.

  • Chủ đề - Trong ngữ cảnh bảo mật, chủ thể là bất kỳ thực thể nào yêu cầu quyền truy cập vào một đối tượng . Đây là những thuật ngữ chung được sử dụng để biểu thị điều yêu cầu quyền truy cập và điều mà yêu cầu được thực hiện chống lại. Khi bạn đăng nhập vào một ứng dụng, bạn là chủ thể và ứng dụng là đối tượng. Khi ai đó gõ cửa nhà bạn, khách truy cập là đối tượng yêu cầu quyền truy cập và nhà của bạn là đối tượng truy cập được yêu cầu.
  • Hiệu trưởng - Một tập hợp con của chủ đề được thể hiện bằng tài khoản, vai trò hoặc số nhận dạng duy nhất khác. Khi chúng tôi đạt đến mức chi tiết triển khai, hiệu trưởng là các khóa duy nhất chúng tôi sử dụng trong danh sách kiểm soát truy cập. Họ có thể đại diện cho người dùng, tự động hóa, ứng dụng, kết nối, v.v.
  • Người dùng - Một tập hợp con của hiệu trưởng thường đề cập đến một toán tử con người. Sự khác biệt đang mờ dần theo thời gian vì các từ "người dùng" hoặc "ID người dùng" thường được hoán đổi với "tài khoản". Tuy nhiên, khi bạn cần phân biệt giữa lớp rộng lớn của những thứ là hiệu trưởng và tập hợp con của những thứ này là các toán tử tương tác thúc đẩy các giao dịch theo kiểu không xác định, "người dùng" là từ đúng.

Chủ đề / Đối tượng kế thừa từ các thuật ngữ tương tự như được sử dụng trong ngữ pháp. Trong một câu, chủ ngữ là diễn viên và đối tượng là vật được hành động. Theo nghĩa này, việc sử dụng đã có từ trước khi máy tính được phát minh. Trong bối cảnh bảo mật, một chủ đề là bất cứ điều gì có thể đưa ra yêu cầu. Như đã lưu ý ở trên, điều này không cần phải giới hạn trong bảo mật CNTT và do đó là một phân loại rất rộng. Điều thú vị là chủ đề ngụ ý đối tượng. Không có đối tượng thì không có chủ thể.

Hiệu trưởng là những gì đối tượng giải quyết. Khi bạn xuất trình thẻ tín dụng, bạn là chủ thể và số tài khoản là tiền gốc. Trong các bối cảnh khác, ID người dùng hoặc nhận dạng do nhà nước cấp là tiền gốc của bạn. Nhưng hiệu trưởng có thể được liên kết với nhiều loại chủ đề không phải là người. Khi các ứng dụng thực hiện các yêu cầu cho các chức năng ở cấp hệ thống, hiệu trưởng có thể là người ký của mô-đun mã thực thi đã ký nhưng ngay cả trong trường hợp đó, người dùng lái yêu cầu vẫn là chủ đề.

Người dùng cụ thể hơn chủ đề hoặc hiệu trưởng ở chỗ nó thường đề cập đến một toán tử tương tác. Đó là lý do tại sao chúng tôi có Giao diện người dùng đồ họa chứ không phải Giao diện hiệu trưởng đồ họa. Một người dùng là một ví dụ của chủ đề giải quyết cho một hiệu trưởng . Một người dùng có thể giải quyết với bất kỳ số lượng hiệu trưởng nào nhưng mọi hiệu trưởng dự kiến ​​sẽ giải quyết cho một người dùng (giả sử mọi người tuân thủ yêu cầu không chia sẻ ID). Trong ví dụ trên, người ký mô-đun mã thực thi chắc chắn không phải là người dùng, nhưng nó hiệu trưởng hợp lệ. Toán tử tương tác cố gắng để tải mô-đun là người dùng.

Như đã lưu ý trong các ý kiến, ngay cả các nguồn có thẩm quyền cũng không đồng ý với các điều khoản này. Tôi đã tìm kiếm NIST, Sans, IEEE, MITER và một số nguồn "gần như có thẩm quyền" như hướng dẫn kiểm tra bảo mật trong khi chuẩn bị phản hồi này. Không có nguồn nào mà tôi tìm thấy ít nhất là có thẩm quyền gần như bao gồm cả ba thuật ngữ và tất cả đều khác nhau đáng kể trong cách sử dụng. Đây là nhận định của tôi về cách các điều khoản nên được sử dụng nhưng từ một quan điểm thực tế, khi bạn đang nghiền ngẫm một hướng dẫn trong lúc nửa đêm, các định nghĩa có xu hướng bất cứ nhà cung cấp hoặc nhà văn nói họ đang có. Hy vọng rằng mặc dù các câu trả lời ở đây sẽ cung cấp đủ thông tin chi tiết để điều hướng vùng biển và phân tích bất kỳ tài liệu bảo mật nào bằng các điều khoản này.


3
Lợi ích của việc chia nhỏ mọi thứ thành Chủ đề, Hiệu trưởng, Người dùng, sự phức tạp thêm của nó chúng ta nhận được lợi ích gì từ sự phức tạp thêm này?
am

19
Khả năng chọn mức độ cụ thể phù hợp. Đó là cùng một lợi ích chúng ta có được từ việc có thể phân biệt giữa điểm đến so với hàng đợi hoặc chủ đề. Khả năng lựa chọn giữa các mức độ cụ thể khác nhau trong phân loại cho phép độ chính xác của biểu thức truyền đạt tốt hơn ý định của nhà văn tới người đọc. Khi lập trình, chúng ta có sự xa xỉ / nguyền rủa rằng CPU sẽ diễn giải các hướng dẫn của chúng ta chỉ bằng một cách và chúng ta buộc phải sử dụng mức độ chính xác của nó. Nhưng trong ngôn ngữ của con người chúng ta cần sắc thái và độ chính xác để truyền đạt ý nghĩa một cách hiệu quả.
T.Rob

1
T.Rob, tuyệt vời, nhưng bạn có thể làm rõ "Người dùng - tập hợp con của hiệu trưởng" không? Nếu John là chủ đề và "tài khoản # 123" là tiền gốc của anh ta, thì người dùng là ai? Có hai John không? Vì Genus> Loài> Cá nhân ngày càng cụ thể, John (người dùng) nên cụ thể hơn John (chủ đề). Hay tôi đang thiếu một cái gì đó?
màu vàng êm dịu

1
Hãy xem xét hai hiệu trưởng trong đó # 123 là John và # 124 đề cập đến một tài khoản dịch vụ. Chúng tôi có thể muốn đối xử với những điều khác nhau liên quan đến những thứ như chính sách mật khẩu, khả năng đăng nhập, v.v. Khi chúng tôi bắt đầu phân loại các loại tiền gốc, chúng tôi tạo các tập hợp con. cái đó có giúp ích không? Hay tôi vừa khuấy thêm bùn?
T.Rob

Vâng, điều đó giúp. Vì vậy, cụ thể, bất kỳ sửa chữa sau đây? Bạn có thể muốn sao chép và dán nó vào một trình soạn thảo như Notepad ++ và đặt ngắt dòng trước mỗi John (SO không cho phép ngắt dòng trong các bình luận): John (human) SUBJECT > username_1 PRINCIPAL > password_1 USER John (human) SUBJECT > username_1 PRINCIPAL > password_2 USER John (human) SUBJECT > username_1 PRINCIPAL > smartcard_1 USER John (human) SUBJECT > username_1 PRINCIPAL > cellphone_1 USER
màu vàng êm dịu


19

Tôi nghĩ thuật ngữ này được lấy từ JAAS .

Khi một ứng dụng sử dụng xác thực JAAS để xác thực người dùng (hoặc thực thể khác như dịch vụ), kết quả là một Chủ đề được tạo. Mục đích của Chủ đề là đại diện cho người dùng được xác thực. Một Chủ đề bao gồm một tập hợp các Hiệu trưởng , trong đó mỗi Hiệu trưởng đại diện cho một danh tính cho người dùng đó. Ví dụ: Chủ thể có thể có tên Hiệu trưởng ("Susan Smith") và Hiệu trưởng Số An sinh Xã hội ("987-65-4321"), do đó phân biệt Chủ đề này với các Chủ thể khác.


2
Tôi đã thấy định nghĩa này trước đây, nó quá dày đặc, bạn có thể giải thích về nó, đặc biệt là cách người dùng khác với hiệu trưởng, tại sao thuật ngữ được sử dụng và không chỉ người dùng. Nếu những thuật ngữ này có ý nghĩa vượt ra ngoài JAAS, tôi rất muốn làm quen với ý nghĩa đó, nếu những thuật ngữ này là phát minh của JAAS thì tôi đoán các Kỹ sư Mặt trời đã tạo ra nó chọn tên kém cho bất kỳ khái niệm nào có nghĩa. Tôi đã hỏi khá nhiều lập trình viên câu hỏi này và chưa thể có câu trả lời rõ ràng, mỗi người dường như có một cách hiểu khác nhau về các điều khoản này.
am

Có vẻ như Hiệu trưởng chỉ là một cách để xác định Chủ đề. Nói cách khác, bất kỳ Hiệu trưởng nào về mặt lý thuyết đều có thể đóng vai trò là khóa chính trên cơ sở dữ liệu người dùng của bạn.
Bạch kim Azure

3
Từ vựng trước JAAS bằng một cú sút xa. JAAS chỉ sử dụng lại một số thứ và đôi khi theo những cách không chuẩn. Một phần của vấn đề đặt ra câu hỏi này là các khái niệm được học từ các bối cảnh trong đó thuật ngữ được sử dụng và sau đó được sử dụng lại theo những cách hơi khác nhau. Khi các nguồn có thẩm quyền khó tìm hoặc đơn giản là bị bỏ qua, ý nghĩa trôi theo thời gian. Khi nói đến an ninh, trong đó độ chính xác là một yêu cầu tuyệt đối, điều này trôi dạt về sự mơ hồ làm suy giảm khả năng xây dựng và thực hiện các thiết kế an toàn của chúng tôi.
T.Rob

@ T.Rob làm cho bạn bất kỳ tiêu đề giấy, hoặc tài liệu tham khảo có thẩm quyền mà bạn có thể chia sẻ.
am

Thật không may, ngay cả các nguồn có thẩm quyền không đồng ý. Sans không định nghĩa chủ yếu hoặc chủ đề ở tất cả bit.ly/hl4rUP và NIST bit.ly/fE7NJs định nghĩa chủ đề cụ thể là một người. Các nguồn "có thẩm quyền" khác cũng tương tự mơ hồ, xem xét tầm quan trọng của sự rõ ràng trong lĩnh vực này, là khá đáng thất vọng. IEE có bảng chú giải nhưng bạn chỉ có thể đọc nó với tư cách thành viên hoặc đăng ký nên nó bị hạn chế sử dụng trong một cuộc thảo luận với nhiều đối tượng. Tôi đã căn cứ vào câu trả lời của mình một phần trong Hướng dẫn thi CISSP của Shon Harris.
T.Rob

12

Chủ thể là thực thể yêu cầu một dịch vụ. Nó có thể là một người dùng hoặc một quá trình. Có lẽ đó là lý do tại sao tên Chủ đề được chọn thay vì người dùng.

Khi một đối tượng cố gắng truy cập một dịch vụ, trước tiên đối tượng phải được xác thực. Xác thực thành công kết thúc bằng việc tải Nguyên tắc bảo mật cho Chủ đề đó. Ví dụ: trong hệ thống Kiểm soát truy cập dựa trên vai trò, người dùng được xác thực (đã đăng nhập) thường sẽ có hai nguyên tắc - userId và RoleId. Trong các hệ thống như vậy, các đặc quyền (tức là ai có thể truy cập cái gì) được chỉ định cho cả vai trò và cho người dùng. Trong khi ủy quyền (nghĩa là kiểm tra xem dịch vụ được yêu cầu có được phép hay không), hệ thống bảo mật sẽ kiểm tra khả năng truy cập đối với cả hai hiệu trưởng.

Do đó, từ góc độ ủy quyền, hiệu trưởng là các thực thể thực tế cho phép truy cập được phép hoặc không được phép. Chủ đề chỉ là một người dùng / chủ đề / quá trình chứa một số hiệu trưởng.


Lợi ích của việc có nhiều nguyên tắc cho mỗi môn học là gì?
am

6
Tôi có thể nghĩ đến hai lợi ích: (1) Xem xét người dùng Alice với hiệu trưởng UserId ("Alice"), Vai trò ("Người quản lý"), Bộ phận ("Bán hàng") khi truy cập dịch vụ (Đối tượng). Kiểm soát truy cập dịch vụ sau đó có thể được chỉ định là "Cho phép vai trò (Người quản lý)" hoặc "Không cho phép bộ phận (Bán hàng)", v.v. thay vì chỉ định liệu Alice có thể truy cập hay không. Loại hệ thống kiểm soát truy cập như vậy dễ quản lý hơn vì quản trị viên bảo mật không cần chỉ định đặc quyền truy cập cho TẤT CẢ người dùng cho TẤT CẢ các dịch vụ.
rahulmohan

4
(2) Trong một hệ thống doanh nghiệp, người dùng thường phải được xác thực bằng nhiều hệ thống trước khi một số dịch vụ tổng hợp có thể được thực thi. Có thể xảy ra rằng mỗi hệ thống đó có các cơ chế kiểm soát truy cập riêng yêu cầu các chi tiết khác nhau - một hệ thống sử dụng SSN và hệ thống khác sử dụng userId. Do đó, cùng một chủ đề nên sở hữu cả hai hiệu trưởng để nó truy cập cả hai
rahulmohan

1
Tôi có cảm giác rằng 99% sự nhầm lẫn với thuật ngữ này có thể được giải quyết bằng một câu dọc theo dòng chữ, "một hiệu trưởng về cơ bản là một nhóm".
Trejkaz

1
?! ... Tại sao bạn nói Hiệu trưởng là một Nhóm?
Rafael

10

Như T.Rob đã giải thích, Chủ đề là bất kỳ thực thể nào yêu cầu quyền truy cập vào một đối tượng. Bắt đầu từ thời điểm đó tôi đã tìm thấy một nhận xét về javax.security.auth.Subject mã mà tôi đã thấy RẤT hữu ích và dễ hiểu:

"Chủ thể có thể có nhiều danh tính. Mỗi danh tính được thể hiện dưới dạng Hiệu trưởng trong Chủ đề. Hiệu trưởng chỉ cần liên kết tên với Chủ thể. Ví dụ: Chủ thể tình cờ là một người, Alice, có thể có hai Hiệu trưởng: một liên kết" Alice Bar ", tên trong giấy phép lái xe của cô, với Chủ đề và một tên khác liên kết," 999-99-9999 ", số trên thẻ nhận dạng học sinh của cô, cho Chủ đề. Cả hai Hiệu trưởng đều đề cập đến cùng một Chủ đề mặc dù mỗi có một tên khác. "

Hy vọng nó giúp.


7

Đây là liên kết để giải thích bên dưới từ Tài liệu Oracle JAVA SE.

Đối tượng, Hiệu trưởng, Xác thực và Thông tin xác thực Để ủy quyền truy cập vào tài nguyên, trước tiên, các ứng dụng cần xác thực nguồn của yêu cầu. Khung JAAS xác định chủ đề hạn để thể hiện nguồn của yêu cầu. Một chủ đề có thể là bất kỳ thực thể, chẳng hạn như một người hoặc dịch vụ. Một chủ đề được đại diện bởi javax.security.auth.Subject lớp .

Xác thực đại diện cho quá trình xác minh danh tính của một đối tượng và phải được thực hiện theo cách an toàn; nếu không, thủ phạm có thể mạo danh người khác để có quyền truy cập vào hệ thống. Xác thực thường liên quan đến đối tượng chứng minh một số dạng bằng chứng để chứng minh danh tính của mình. Bằng chứng đó có thể chỉ là thông tin mà chủ thể có thể biết hoặc có (như mật khẩu hoặc dấu vân tay) hoặc có thể chỉ là thông tin mà chủ thể có thể tạo ra (chẳng hạn như dữ liệu đã ký bằng khóa riêng).

Sau khi được xác thực, một Chủ đề được điền với các danh tính liên quan hoặc Hiệu trưởng (thuộc loại java.security.Principal ). Một môn học có thể có nhiều hiệu trưởng. Ví dụ: một người có thể có tên Hiệu trưởng ("John Doe") và Hiệu trưởng SSN ("123-45-6789"), để phân biệt với các Đối tượng khác.

Ngoài các Hiệu trưởng được liên kết, Chủ thể có thể sở hữu các thuộc tính liên quan đến bảo mật, được gọi là thông tin đăng nhập . Thông tin đăng nhập có thể chứa thông tin được sử dụng để xác thực chủ đề cho các dịch vụ mới. Thông tin đăng nhập như vậy bao gồm mật khẩu, vé Kerberos và chứng chỉ khóa công khai. Thông tin xác thực cũng có thể chứa dữ liệu cho phép chủ thể thực hiện các hoạt động nhất định. Ví dụ, khóa mật mã đại diện cho thông tin đăng nhập cho phép đối tượng ký hoặc mã hóa dữ liệu. Các lớp chứng chỉ công khai và riêng tư không phải là một phần của API J2SE cốt lõi. Bất kỳ lớp nào, do đó, có thể đại diện cho một thông tin.


Mặc dù tôi đồng ý với câu trả lời của T.Rob, nhưng câu hỏi này của Aram - nói rằng "một chủ đề có thể là bất kỳ thực thể nào" - gợi ý tại ERM: Mô hình quan hệ thực thể làm nền tảng cho hầu hết các cơ sở dữ liệu. Trong mô hình đó, "thực thể" tương ứng với "chủ đề" trong bối cảnh bảo mật, nhưng tùy thuộc vào mô hình bạn đang làm, nó có thể là hiệu trưởng (tài khoản ngân hàng, SSN #) hoặc người dùng (John Smith), như được đề xuất trong Marinus ' câu trả lời. Wikipedia: en.wikipedia.org/wiki/Entity%E2%80%93relationship_model
mellow-yellow

0

theo rahulmohan , tôi nghĩ, trước khi Xác thực là máy bay phụ, sau khi Xác thực là dự đoán, trong trường hợp khác, một máy bay phụ có thể có nhiều dự đoán

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.