2012-07-19 2 views
1

다른 웹 서버로 많은 웹 서비스 요청에 의해 구동되는 내부 용 웹 응용 프로그램을 만들고 있습니다. 내부 사이트는 웹 서비스가 지원하는 사용자 이름/비밀번호 자격증 명 (즉, 내부 사이트에 대한 로그인을 확인하기위한 원격 인증 호출)에 의해 인증 된 자체 세션을 유지 관리합니다. 웹 서비스 요청에는 동일한 자격 증명을 사용하여 인증해야합니다.반복 웹 서비스 호출을위한 자격 증명을 안전하게 저장합니다.

우리는 이러한 웹 서비스 요청이 상태를 유지할 수 있기를 희망했는데, 이는 인증 요청마다 자격 증명을 전달한다는 의미입니다. 문제는 안전한 방법으로 사용되는 자격 증명 (초기 로그인 중에 입력 된 자격 증명)을 기억하는 것입니다. 나는 나중에 다시 사용하기 위해 암호를 저장하는 진정한 안전한 방법을 알고 있지 않습니다. 해시를 사용하면 암호를 다시 사용할 수있는 기능이 희생됩니다. 우리가 할 수있는 최선의 방법은 세션 범위에서 인코딩하는 것입니다. 악의적 인 개발자가 스레드 덤프 등에서 그것을 잡으려고 시도하지 않기를 바랍니다.

더 나은 해결책이 누락 되었습니까? 인코딩 된 암호를 메모리에 저장할 위험이 지나치게 편집 적이거나이 프로젝트에 대한 우리의 접근 방식에 결함이 있습니까?

+0

나는 security.stackexchange.com이 이걸 도울 수 있다고 기꺼이하겠다. – Wug

+0

security.stackexchange에서 후속 조치를 취한다면, 이후에 요약을 게시하도록 요청할 수 있습니까? 감사! –

답변

0

수 있습니다 oauth 봐야한다 우리의 결론 결코 다시 사용할 수 있습니다 어떤 방식으로 서버에 사용자 자격 증명을 저장하는 것은 안전하지 않다, 그래서 없었다 우리가 할 수있는 ' 진정으로 각 웹 서비스 요청에 대해 무 상태 재 인증을 수행합니다. 사용자의 초기 로그인 중에 시작되고 저장된 상태 연결을 손상시키고 보존해야했습니다.

0

토큰 기반 인증을 사용하는 것이 좋습니다. 토큰은 저렴한 사용자 인증을 위해 사용자에게 전달됩니다. 이 중 하나의 구현은 세션 관리를 위해 사용자에게 전달되는 쿠키를 생성하는 것입니다.

내가 사용하지 않은하지만 당신은 궁극적으로 example

관련 문제