2012-07-16 2 views
1

내 코드는 현재 3 분마다 주기적으로 전자 메일을 보내고받는 데 IMAP 및 SMTP 서버에 연결해야합니다. 타사 통합을위한 양방향 암호 암호화

  • 이 (EMAILID 및 암호 포함) IMAP 및 SMTP 세부 사항에 공급하여 이메일을 통합에

    1. 로그인을 다음과 같이 일반적인 사용자 흐름이다.
    2. 나는 정기적으로 IMAP 서버에서 이메일을 끌어 석영 스케줄러를 실행, 백그라운드에서 데이터

    이동합니다. 웹 UI와 석영 스케쥴러는 별도의 VM에서 실행되고 REST에서 서로 대화한다.

    그런 시나리오에서 사용자의 전자 메일 자격 증명을 보호하는 좋은 방법은 무엇입니까? 사용자에게 암호를 다시 묻지 않으려 고하지만 IMAP에 연결하기위한 자격 증명을 제공해야하기 때문에 해싱 방법이 도움이되지 않습니다.

  • +0

    보안 요구 사항은 어느 정도입니까? WebUI는 암호를 알 수 있습니까? 석영 호스팅 서버가이를 알고 있는지 여부가 명확합니까? – Jonathan

    +0

    검색을 수행 할 때이 질문이 회답되었습니다. – Jacco

    +0

    이상적으로는 기능을 방해하지 않고 가능한 한 단단히하고 싶습니다. 사용자 암호와 같은 중요한 데이터를 양방향으로 암호화하는 모범 사례가 있습니까? – user371427

    답변

    1

    물론 암호를 안전하게 설정하는 가장 좋은 방법은 " 원래대로 되돌릴 수는 없지만 다음 질문의 범위를 벗어났습니다 .-))

    그렇기 때문에 가장 좋은 방법은 응용 프로그램 코드 측면의 암호를 암호화하는 것입니다. 서버 (앱과 함께 배포되지 않음). Java 암호화를위한 도구 인 Jasypt를 살펴볼 수 있습니다. 또한 키에 대한 암호 구를 두 부분으로 나누는 것을 고려할 수도 있습니다. 하나는 특성 파일 내의 일부 구성 파일에서 오는 것이고 다른 하나는 어쩌면 데이터베이스 자체에서 가져 오는 것입니다.

    +0

    고마워, 나는 같은 줄을 생각하고 있었는데, Jasypt는 그것을 잘 살펴볼 것이다. – user371427

    0

    응용 프로그램이 클라이언트 컴퓨터에서 실행되는 경우 사용자가 선택하는 마스터 암호로 암호를 암호화하십시오. 이를 통해 사용자는 응용 프로그램을 잠글 수 있습니다.

    응용 프로그램이 서버에서 실행되는 경우 암호가 HTTPS를 통해 전송되는지 또는 최소한 비대칭 공개 키를 사용하여 암호를 암호화하고 서버에서 암호를 해독하는지 확인하십시오.

    비밀 키를 사용하여 AES 또는 다른 좋은 암호화 알고리즘으로 암호화 된 암호를 일반 텍스트로 저장하지 못하도록 저장하십시오.