2017-03-09 1 views
1

로그인 및 암호를 사용하여 서버에 연결하는 도구를 쓰고 있습니다. 도구의 사용자는 런타임에 도구가 서버에 연결하여 정보를 가져올 수있는 로그인 및 암호를 제공해야합니다.암호화 된 암호를 저장하고 런타임시 암호 해독

그러나 도구에 대한 통합 테스트가 일부 수행되므로 테스트가 서버에 연결될 수 있어야합니다. 일반 서버의 계정을 사용하여 그렇게 할 수 있습니다.
하지만 이러한 통합 테스트를 자동화하고 싶습니다. 따라서 일반 자격 증명을 암호화 된 위치에 저장하고 통합 테스트를 실행하여 실행시 해독 할 필요가 있습니다. 암호화되지 않은 상태로 저장하는 것이 쉽지 않음).

어떻게 해결할 수 있습니까? 도구가 암호를 해독 할 수 있으면 일부 마스터 키를 보유한다는 것을 의미하며 이것이 잘못된 것이라고 가정합니다.
암호화 된 값을 보내려는 일부 외부 서비스를 노출시켜야 해독/해독을 도구 외부에서 처리 할 수 ​​있습니까?

감사합니다.

+0

테스트하고 싶은 것은 무엇입니까? 인터넷은 아직 거기 있니? 아니면 고객이 여전히 올바른 프로토콜을 말하고 있습니까? 또는 암호가 여전히 유효합니까? 이것은 당신이 먼저 답을 찾아야 할 질문입니다. – wallenborn

+1

악의적 인 사용자가 신임장을 훔칠 수있는 시나리오를 설명 할 수 있습니다. 이유는 분명하지 않습니다. 테스트 신임장을 보호하는 이유가 분명하지 않기 때문입니다. 확실하게 자격 증명은 소프트웨어의 프로덕션 버전에서 제공되지 않습니다. 다른 개발자들로부터 보호하고 있습니까? 그렇다면 암호 해독 된 자격 증명을보기 위해 중단 점을 어딘가에 둘 수는 없습니까? – PaulG

+0

@wallenborn 도구가 라이브 시스템 앞에 제대로 작동하는지 테스트하고 있습니다 (서버를 스텁하는 단위 테스트와 비교). – Xendar

답변

0

나는이 문제에 대한 실제 해결책이 없다고 생각합니다. 결국 어딘가 암호를 해독하는 알고리즘이나 키가 어딘가에 있어야합니다. 그래서 나는 아마도 암호화를 가지고 갈 것입니다. key + obfuscation 또는 key + code in a language that cant be reverse engineered

+0

이 때문에 나는 암호와 복호화를 도구에서 분리하는 것에 대해 생각했다. – Xendar

+0

자바는 매우 쉽게 경외심을 불러 일으키기 때문에 Speration은 유용 할 것이다. 하지만 좋은 난독 화 또한 강력합니다. – Ocean15

+0

난독 화는 값을 원래대로 되돌려 놓을 수 없으므로 (*로 문자를 바꾸는 것과 같은) 값을 숨기는 것입니다. 어쩌면 나는 그 때 당신의 대답을 완전히 이해하지 못했을까요? – Xendar