많은 회사의 고객이 데이터 수집 소프트웨어를 연구 기반으로 사용합니다. 일반적으로 연구의 성격으로 인해 일부 고객은 데이터가 변조되지 않도록 암호화되어 있는지 확인합니다. 데이터가 위조 된 것으로 밝혀지면 심각한 파급 효과가 발생할 수 있습니다.파이썬 : 데이터 변조를 막기위한 암호화
우리의 바이너리 소프트웨어 중 일부는 소스에 저장된 암호로 출력 파일을 암호화합니다.이 파일은 임의의 문자처럼 보입니다. 소프트웨어 수준에서는 읽기 전용 작업을 위해 암호화 된 파일을 열 수 있습니다. 누군가 이 실제로 인 경우 데이터를 변경할 수 있도록 암호를 찾으려면 가능하지만 많은 작업이 필요합니다.
다른 소프트웨어를 신속하게 개발하기 위해 Python을 사용하려고합니다. 데이터 변조를 막기/막기 위해 암호화 기능을 복제하기 위해 필자가 지금까지 생각해 낸 가장 좋은 아이디어는 파일 읽기/쓰기 작업을위한 DLL과 함께 ctypes
을 사용하는 것입니다. 따라서 암호화 및 암호 해독 방법이 "충분히 "난독 화.
우리는 "해독 할 수없는"방법을 얻을 수 없다는 것을 잘 알고 있지만 동시에 Python 소스 코드에 일반 텍스트로 암호화/암호 해독 접근법을 사용하는 것에 만족하지는 않습니다. "데이터 변조에 대한 매우 강력한 실망"이 충분히 좋을 것이라고 생각합니다.
파이썬을 사용하여 암호화 또는 다른 데이터 무결성 증명의 행복한 매체를 얻는 최선의 방법은 무엇입니까?another post은 "변조 증거"를 생성하는 것을 말하지만 순수한 파이썬에서 서명이 생성되면 임의의 데이터에 대한 서명을 생성하는 것은 간단합니다. 은 데이터 무결성을 입증하기 위해 집에 전화를 걸 수 있지만 관련 모든 사람에게 큰 불편을 끼치는 것처럼 보입니다.
OTOH, 데이터를 변경하지 않는 것은 궁극적으로 고객의 책임입니다. 변경을 방지하는 것은 당사의 책임입니다. 사장님/고객이 사인 한 데이터에 서명하기 위해 사용자 별 개인 키를 갖고 싶어할지 모르겠지만, 적어도 할 수있는 방법은 12 가지가 있습니다. –
데이터가 위조되지 않았 음을 보장하는 소프트웨어의 능력에 대해 귀사가 주장하는 것은 어리석은 일입니다. .dll에서조차 개인 키 또는 암호를 추출하는 것은 그렇게 어렵지 않습니다. 디버거가있는 동기 부여가 충분하고 시간이 충분하면 누구나 할 수 있습니다. – Christopher
또한 비밀번호가 임의의 데이터처럼 보이는지는 중요하지 않습니다. 사실 그것은 문제가 될 수 있습니다. .exe 및 .dll 파일은 * 임의 * 아닙니다. 의심스러운 무작위 데이터 파일을 분석한다면 키를 곧바로 발견 할 수 있습니다. – Christopher