it-swarm-korea.com

상태없이 인증 할 수 있습니까?

대부분의 웹 사이트에 로그인하려면 SQL 데이터베이스에 자주 저장되는 사용자 이름과 비밀번호가 필요합니다. 변경할 수있는 사용자 별 정보를 저장하고 있습니다. 이것이 상태입니다. 사용자 별 상태를 저장할 필요없이 누군가가 관리자 또는 사용자와 같은 시스템에 액세스 할 수있는 권한이 있음을 증명할 수 있습니까?

9
rook

어느 정도까지는 클라이언트에서 상태를 오프로드 할 수 있습니다. 사용자의 액세스 권한을 서버 비밀 키로 계산 된 MAC 추가하는 blob으로 인코딩합니다. 그런 다음 Blob-with-MAC가 클라이언트로 전송됩니다. 나중에 클라이언트가 돌아와서 blob을 보여줍니다. 서버는 MAC을 확인하여 Blob이 합법적인지 확인합니다. 이것은 HTTP 쿠키에서 합리적으로 잘 매핑됩니다. 서버가 일부 사용자 관련 데이터를 사용자에게 표시하지 않고 저장하려는 경우 blob에 암호화 된 데이터 (서버 전용 대칭 키가 있음)가 포함될 수 있습니다.

권한을 취소하거나 변경하려는 경우 문제가 시작됩니다. 클라이언트가 부실 Blob을 표시하는 것을 방지 할 수 없습니다. 이는 만료 날짜 (Blob에 날짜가 포함되어 있으며 1 주일 동안 유효 함)와 필요한 경우 해지 목록 (서버는 거부해야하는 Blob 목록을 알고 있음)을 조합하여 처리 할 수 ​​있습니다. MAC이 좋아 보이는 경우-이것은 상태이지만 대부분의 액세스 권한이 취소되지 않기 때문에 많지 않습니다.).

액세스 권한을 발급하는 엔터티 (블롭을 생성하는 엔터티)와 액세스 권한을 확인하는 엔터티 (MAC를 확인하는 엔터티)가 동일하지 않은 경우 MAC을 디지털 서명 체계로 대체해야합니다.

16
Thomas Pornin

Kerberos 를 사용하면 인증 상태를 추적해야하는 복잡성이 격리됩니다. 클라이언트가 서비스에 액세스하는 마지막 단계는 클라이언트에 인증을 부여하는 데 필요한 모든 state 를 포함하는 Ticket을 제공합니다. 비대칭 암호화는 세 서버 간의 통신없이이 복잡한 핸드 셰이크를 허용합니다. 마지막에 인쇄 서버에는 저장된 상태 또는 사용자 자격 증명 데이터베이스가 필요하지 않습니다.

enter image description here

1
rook

시스템에 대한 관리자 권한 및 사용자 권한으로 이동하여 관리자에게 로컬 액세스 만 허용하고 다른 사람은 모든 사용자 액세스를 허용 할 수 있습니다.
하지만 다소 혼란 스러울 것입니다.

이미지 보드 (wakaba, futaba, & c.)에는 암호화되어 사용자 닉 옆에 표시되는 일종의 토큰이있어 사람들이 자신이 누구인지 증명할 수 있습니다.
이러한 사이트의 사용자는 게시하는 것 외에는 많은 권리가 없지만 혼란 스럽지는 않습니다.

1
kuhkatz