kookmin-sw / capstone-2024-45

시간은행 v2
https://kookmin-sw.github.io/capstone-2024-45/
1 stars 1 forks source link

[Back][QR] 데이터 전송 시 보안 적용 #19

Closed ytjdud closed 3 months ago

ytjdud commented 4 months ago

04/15 강의 중 교수님과 나눈 이슈.

생각해보고, 풀어야 할 문제:

암호화를 적용 한다면 어떻게 암호화를 하고 전송하는 데이터는 무엇인지? 데이터를 복호화를 하면(P->T), 복호화된 데이터(T)가 상대가 보낸 데이터(T)가 맞는지 어떻게 확인할 것인지?

ytjdud commented 4 months ago
  1. 위변조에 대한 대응 : HTTPS 프로토콜, QR 코드 활성화 세션(2분)
  2. 부인 방지에 대한 대응 : 전자 서명

자세한 설명은 첨부한 사진에 기술되어있음.

ytjdud commented 4 months ago

상황 1: QR 코드 생성 및 스캔

이 단계는 정보를 제공받는 단계이지 실제 거래가 이루어지는 단계가 아니기 때문에 부인방지는 크게 중요하지 않음

--> Hmac 이용

단순 해시를 사용하는 것보다 HMAC을 사용하는 이유: 보안 강화 단순 해시보다 HMAC은 잠재적인 일부 공격(예: 충돌 공격)에 대해 더 강력한 저항력을 제공한다.

해시 충돌은 서로 다른 두 입력값이 동일한 해시 값을 생성하는 경우를 말합니다. 일반적인 해시 함수에서는 이러한 충돌이 발생할 확률이 낮지만, 충분한 시간과 계산 능력을 투입하면 충돌을 생성할 수 있습니다. 이러한 충돌을 생성하여 악의적으로 데이터를 변조하는 공격을 충돌 공격이라 합니다.


상황 2: 송금하기 버튼을 누르는 경우

ytjdud commented 4 months ago

하지만 전자서명을 실제로 이 어플에 적용하기는 무리라고 판단. 따라서 실제 송금 로직에도 일단은 hmac 을 적용하는 방향으로 변경한다.