2009-02-27 3 views
1

두 사이트가 있습니다.다른 사이트의 사용자를 인증하는 최상의 암호화 알고리즘 (PHP)

첫 번째 사이트는 사용자가 로그인해야합니다. 그런 다음 인증 토큰은 사용자가 처음에서 두 번째로 이동할 때 두 번째 사이트로 전달됩니다. 따라서 사용자는 두 번째 사이트의 URL을 붙잡고 로그인 할 수 없습니다.

이 인증 용도로 사용할 수있는 최상의 암호화/인증 알고리즘은 무엇입니까?

답변

6

일반적인 PK 방식. site1에서는 auth 정보를 site1의 개인 키와 site2의 공개 키를 사용하여 암호화합니다. site2의 개인 키를 사용하는 site2 decrytp 및 site1의 공개 키. 관심의

기능 :

+0

죄송하지만 Google의 PK 체계에서 아무 것도 찾지 못했습니다. – Graviton

+0

PK == 공개 키. http://en.wikipedia.org/wiki/Public_key – vartec

+1

http://en.wikipedia.org/wiki/Public-key_cryptography –

2

내가 AES 암호화를 사용하는 것입니다.

대칭 암호화가 필요한 이유는 무엇입니까? 더 빠르고 자원 집약적입니다. (CPU, 대역폭) 키를 배포하면 비대칭 암호화만큼 안전합니다.

비대칭 암호화의 이점은 두 클라이언트가 서로를 모르는 경우에만 존재합니다.

+0

+1을 참조하십시오. 간단한 해시로도 할 수 있습니다. 예 : 토큰 "4d2.49a7f0d4.226c04be17a8f860acb7e4e5ce093d420b9a177e", 여기서 '4d2'는 1634로 사용자 1234, '49a7f0d4'는 토큰 만료 시간 소인이며 마지막 비트는 "sausage.4d2.49a7f0d4"의 sha1() 해시입니다. '소시지'는 site1과 site2 사이의 공유 된 비밀입니다. – bobince

+1

nb. 그런 식으로하면 '소시지'보다 강한 공유 된 비밀을 사용하십시오 :-) – bobince

+0

소시지는 굉장합니다! 하지만 당신 말이 맞아요, 사전 단어는 아마 암호화 키의 최고의 원천이 아닙니다 ... –

3

OpenID 프로토콜을 확인하십시오. 원하는대로 작동합니다.

관련 문제