문제

내 웹 응용 프로그램은 컨테이너 관리 보안에 의존하고 있으며 소금에 절인 암호를 사용할 수 있는지 궁금합니다. JDBC 또는 DataSource Realm을 구성하여 데이터베이스에 소화 된 비밀번호를 저장하는 것이 쉽지만 해당 소화에 소금을 추가 할 수있는 방법은 없습니다.

제안이 있습니까?

편집하다: 질문을하기 전에 좀 더 생각해야 할 것 같습니다 ;-)

Digest 계산 (클라이언트 또는 서버)을 선택하고 그에 따라 Tomcat을 구성하는 사람을 선택하는 문제 일뿐입니다.

도움이 되었습니까?

해결책

다이제스트를 만들고 저장하는 경우 동시에 소금을 만들고 저장할 수 있습니다.

인증 테이블은 .... pwddigest varchar (64), 또는 int256이 포함되어 있습니다.

그런 다음 사용중인 인증 프로토콜에 따라 클라이언트 측 암호화의 사용자 이름을 얻을 때 해시 살트를 클라이언트로 보내거나 CLEAR를 수신하면 암호를 해시하는 데 사용합니다.

나는 당신이 말하는 데이터베이스 액세스 기술에 익숙하지 않으므로 요점을 놓치고 답을 지나치게 단순화하면 사과드립니다.

다른 팁

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

패치를 적용하지 않으려면 최소한 구현 예로 패치를 사용할 수 있습니다.

버그 45871- DataSourcerealm의 소금에 절인 및 소화 된 패치 지원

JCE의 패스 기반 암호화는 PKCS#5에 따라 소금을 사용합니다. 보다 http://java.sun.com/j2se/1.4.2/docs/guide/security/jce/jcerefguide.html#pbeex 예를 들어.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top