2008-10-15 4 views
1

내 웹 응용 프로그램은 컨테이너 관리 보안에 의존하고 있으며 소금에 절인 암호를 사용하는 것이 가능한지 궁금합니다. JDBC 나 DataSource 영역을 구성하는 것만으로 데이터베이스에 다이제스트 패스워드를 저장하는 것은 쉽지만 그 다이제스트에 소금을 추가 할 방법이 없다는 것을 알 수 있습니다.Tomcat 5.5에서 소금에 절인 암호를 구현하는 방법

제안 사항?

편집 : 내가 그냥 요청하기 전에 좀 더 생각해야 할 것 같다 질문 ;-) 그냥 다이제스트 계산 (클라이언트 또는 서버)를 수행하고 그에 따라 Tomcat을 구성있어 선택의 문제

.

답변

2

다이제스트를 만들고 저장하는 경우 동시에 염을 생성하고 저장할 수 있습니다. 하나 hashSalt의 INT64, ....

다음

가 인증 프로토콜 당신 '에 따라이있는 경우 또는 int256 -

귀하의 인증 테이블은 .... pwdDigest의 VARCHAR (64)를 포함 할 것 클라이언트 측 암호화 용 사용자 이름을 얻었을 때 hashSalt를 클라이언트에 보내거나 암호화 된 암호를받은 경우 해시 암호를 사용하여 hashSalt를 클라이언트에 보냅니다.

저는 데이터베이스 액세스 기술에 대해 잘 알고 있지 않습니다. 그렇기 때문에이 지점을 놓치고 대답을 간략하게 설명하면 사과드립니다.

+0

단지 데이터베이스에 암호를 찾는위한 Tomcat의 용어입니다. – agnul

2

Tomcat 5.5 및 6.0은 JDBCRealms 및 DataSourceRealms에서 salt 된 암호를 지원하지 않습니다. 알려진 버그이며 제안 된 패치가 잘 작동하는 것처럼 보이지만 아직 받아 들여지지 않았습니다.

당신이 적어도 구현 예로 사용할 수있는 패치를 적용하지 않는 경우 :

Bug 45871 - Support for salted and digested patches in DataSourceRealm

+1

+1 내 패치를 찾아 링크를 게시합니다. :) –

+0

유용한 자료 Brandon. – Wes