2011-10-04 2 views
1

두 사이트 사이에서 단일 사인을 구현하는 방법에 대해 읽고 있는데이 예제를 통해 http://dev.assistly.com/docs/portal/multipass을 발견했습니다. 기본적으로 한 사이트는 사용자 ID, 로그인 만료 및 기타 고객 정보가 포함 된 암호화 된 JSON 해시를 전달합니다. 해시는 사이트 키를 암호로 사용하고 api 키를 소금으로 사용하여 생성됩니다.암호화 된 해시를 사용하여 SSO가 작동하는 방식을 설명하십시오.

내가 알기에 해싱 알고리즘은 한 가지 방법으로 작동합니다. 예를 들어 사이트 # 2는 동일한 값을 해시하고 사이트 # 1이 전달한 해시와 결과를 비교하여 본격적인 값인 &이 유효한지 확인할 수 있습니다. 그러나 사이트 # 2는 사이트 # 1에서 전달 된 해시 된 값을 역전하여 어떤 값이 사용되었는지 확인할 수 없습니다.

여기 내 질문이 있습니다. 위에 링크되어 있고 위에서 설명한 SSO 예제에서 모든 정보는 사인온에 앞서 두 사이트간에 공유되는 것으로 추정됩니다. 예를 들어 두 사이트 모두 사용자 ID, 암호, 소금 등을 알고있을 것입니다. 그러나 만료 날짜 시간 값은 로그인 발생마다 다릅니다. 만료 날짜 시간이 로그인마다 변경되고 두 사이트간에 미리 공유 할 수있는 것이 아닌 경우 사이트 # 2에서 사이트 # 1에서받는 해시를 확인하는 것이 불가능하지 않습니까?

어떻게 작동하는지 이해하려면 뭔가를 놓쳐 야합니다. 아니면 잘못된 가정을하고 있습니다. 설명 해주십시오. 감사!

답변

0

보조 용어는 약간 혼란 스럽습니다. 그들이 해시에 대해 이야기 할 때 그들은 사실 값의지도 인 JSON 해시를 언급하고 있습니다 ... 암호화 해시가 아닙니다. 또한 양방향 인 AES 암호화를 참조하므로 데이터를 암호화하고 해독 할 수 있습니다.

관련 문제