2014-11-04 2 views
1

코르도바 총 초보자 SQLite 플러그인 (https://github.com/brodysoft/Cordova-SQLitePlugin/)을 수정하고 수정 된 버전을 내 앱에서 사용하려면 어떻게해야하는지 궁금합니다.수정 코르도바 SQLite 플러그인

DB에 실제로 저장하기 전에 중요한 데이터를 암호화해야합니다. 크래커가 네이티브 코드로 암호화를 수행하여 실제로 데이터를 암호화하는 방법을 알기가 더 어려울 것이라고 생각합니다 (아마 여러 클래스를 통해 확산 될 것입니다/파일) 자바 스크립트에서 그것을하는 대신.

다른 옵션은 수정되지 않은 SQLite 플러그인을 사용하고 DB 플러그인으로 데이터를 처리하기 전에 암호화를 수행하는 일부 원시 클래스를 갖는 것입니다. 나는 IOS만을 겨냥하고 있지만, 자바 스크립트와 네이티브 코드를 적절하게 혼합하는 방법에 대한 명확한 아이디어는 여전히 가지고 있습니다. 플러그인을 만들어야합니까? javacript 래퍼를 사용하여 기본 클래스를 만들면 충분합니까? 어떻게 자바 스크립트 코드에서 이러한 클래스의 인스턴스를 만들 수 있습니까? 나는 너무 혼란 스럽다. ...

답변

1

데이터가 암호화되는 방식, 즉 암호화 방식, 키 크기 또는 iv를 숨겨서 얻는 것은 아무것도 없다. 어떻게 행해지는지 숨김으로써 암호화가 향상되지 않습니다.

보안은 좋은 암호화 키에 있으므로 키를 보호하고 암호화 기본 요소를 안전한 방식으로 사용합니다. 우선 CBC 모드로 AES를 선택하십시오. 암호를 키로 사용하지 마십시오. 임의의 비트 문자열을 사용하거나 PBKDF2를 통해 암호를 실행하여 키를 생성하십시오.

자바 스크립트의 암호화와 관련된 한 가지 도전 과제는 키 보호입니다. 네이티브 앱에서는 키 체인에 보관할 수 있습니다.

보안에 대해 진지한가? 암호 도메인 전문가가 코드의 보안 부분을 만들거나 최소한 방법과 코드를 검토하십시오.

+0

감사합니다. 나는 주로 여러 파일에서 서로 다른 부분을 갖는 것처럼 키를 안전하게하는 방법에 대해 주로 생각해 보았습니다. 그러나 제안 사항이 훨씬 좋게 들립니다. 나는 질문이있다, 무작위 열쇠는 어떻게 작용할 것인가? 앱이 생성 한 다음 키 체인에 저장하도록 하시겠습니까? 이 경우 HTTPS를 사용하여 암호화 된 데이터를 보내는 서버와 통신하고 싶다면이 접근 방식이 작동할까요? 아니면 로컬 데이터에만 유용할까요? 즉, 서버가 임의의 키로 암호화 된 데이터의 암호를 해독 할 수있는 방법을 파악할 수 없습니다. – momo

+1

이것은 두 가지 용도로 사용됩니다. 장치에서 암호화하려면 예를 들어 임의의 키를 생성하여 키 체인에 저장하십시오. 당신이 opr 암호 해독을 암호로 할 필요가있을 때 그것을 사용하는 열쇠 고리에서 열쇠를 얻으십시오. 이것은 순수한 지역 용입니다. – zaph

+1

서버와 통신하는 데는 두 가지 문제가 있습니다. 1. 서버 인증. 2. 데이터를 안전하게 전송하십시오. 왜 HTTPS를 사용하고 싶지 않습니까? 자체 암호화를 사용하는 경우 해결해야 할 키 공유 문제가 있으므로 HTTPS가이 문제를 해결합니다. – zaph

관련 문제