455
11
장
보안
데이터 조작
예를 들어 전송되는 데이터를 조작하면 전송되는 금액이 변경되는 등 나쁜 영향을 미칠 수 있
는 여러 상황을 상상할 수 있다. 따라서 [그림
11
-
6
]에서는 잠재적인 공격자가 주문 처리기에
서 결제 서비스로 전송되는 요청을 변경할 수 없도록 해야 한다.
일반적으로 데이터를 안 보이게 만드는 보호 유형은 데이터를 조작할 수 없도록 보장한다 (예
를 들어
HTTPS
가 그렇게 한다). 하지만 우리는 데이터를 공개적으로 전송하면서도 데이터가
조작될 수 없도록 하고 싶을 수도 있다.
HTTP
의 경우에 가능한 방법 중 하나는
해시 기반 메시해시 기반 메시
지 인증 코드지 인증 코드
(
HMAC
)를 사용해 전송되는 데이터에 서명하는 것이다.
HMAC
을 사용하면 해
시가 생성돼 데이터와 함께 전송되며, 수신자는 데이터에 대한 해시를 확인해 데이터가 변경되
지 않았는지 확인할 수 있다.
11.5.211.5.2
보관 중인 데이터 보관 중인 데이터
보관된 데이터에는 책임이 따른다. 특히 민감한 데이터의 경우 더욱 그렇다. 가능하면 우리는
공격자가 네트워크에 침투하지 못하도록 모든 조치를 취했을 뿐 아니라, 우리의 애플리케이션
이나 운영체제 속으로 침투해 기반이 되는 데이터에 접근하는 것을 방지하는 모든 조치를 취했
길 바란다. 하지만 공격이 발생할 경우를 대비해야 하며 심층 방어가 핵심이다.
우리가 들은 주요 보안 침해 중 다수는 공격자가 저장된 데이터를 획득하고 공격자가 해당 데
이터를 읽을 수 있는 것과 관련이 있다. 이는 데이터가 암호화되지 ...