2

Firemonkey를 사용하여 Android 앱을 개발 중입니다. 이 응용 프로그램은 Rest를 사용하여 json 결과를 반환하는 WebApi에 요청합니다. API는 이미 개발되었으며 각 요청은 사용자와 암호를 querystring으로 보내 데이터를 반환해야합니다. 내 질문은 : 무엇 firemonkey (안드로이드)에 민감한 데이터를 저장하는 가장 좋은 방법입니다. 물론 이러한 데이터를 저장하기 위해 암호화를 사용하는 것이 가장 먼저 염두에 두지 만, firemonkey에 대한 기본 및 보안 기능이 있습니까?민감한 데이터를 firemonkey에 비밀번호로 저장하는 방법은 무엇입니까?

+0

는 암호화 그러나 아마 서버에서 결국 로그 파일됩니다 HTTPS 연결로, 그것은 분명히에 HTTP 연결과 쿼리 문자열에 사용자의 암호를 보내지 마십시오 meerystring의 평범한 텍스트는 안드로이드의 내부 저장소보다 손상 될 가능성이 훨씬 큽니다. –

답변

0

암호를 암호화하지 마십시오. 침입자가 DB를 얻으면 암호 키도 받게됩니다.

단지 해시 함수를 사용하는 것만으로는 충분하지 않으며 단지 소금을 추가하면 보안을 향상시키는 데별로 도움이되지 않습니다.

대신 약 100ms 동안 무작위 소금으로 HMAC를 반복하고 해시로 소금을 저장하십시오. PBKDF2, password_hash, Bcrypt 및 이와 유사한 기능과 같은 기능을 사용하십시오. 요점은 공격자가 무차별 적으로 암호를 찾는 데 많은 시간을 소비하게하는 것입니다.

이것은 거의 의미가

+0

@Zafe 장치에 액세스 토큰 저장? – Marcoscdoni

+0

그래,하지만 질문 당 OP는 그러한 보안되지 않은 방식으로 자격 증명을 원하는 웹 서비스를 제어하지 못합니다. –

+1

@FreeConsulting 그러면 OP에는 델리마가 있습니다. 사용자를 위험에 빠뜨리거나 푸시 백하고 기여를 거부합니다. 우리는 안전하지 않은 제품 생산을 중단해야합니다. 사용자를 위험에 빠뜨리는 안전하지 않은 사이트를 만드는 데 기여할 것을 제안합니까? – zaph

1

저장하지 마세요. 실제로 보안이 필요할 경우 필요에 따라 서버에 요청하십시오. 키와 데이터가 동일한 시스템에 저장되는 경우 보안 암호화와 같은 것은 없습니다.

+1

질문은 서버에서 요청할 수없는 * 사용자의 * 비밀번호를 저장하는 방법을 묻는 것입니다. 그리고 "저장하지 마십시오"는 여전히 유효한 대답이지만, 매우 유용한 * 답변처럼 보이지 않습니다. 많은 앱이 로그인 정보를 기억하여 사용자가 시작할 때마다 인증하지 않아도되는 것을 방지합니다.이 질문은 단순히 어떻게해야하는지 묻는 것입니다. –

+1

@RobKennedy 생성 된 액세스 토큰을 사용합니다. 10 년이 넘도록 해결 된 문제였습니다. 클라이언트에 암호를 저장하거나 암호화하지 마십시오. –

+1

그 대답을 쓰십시오. –

관련 문제