Huffpost Korea kr
블로그

허핑턴포스트 블로거의 분석과 의견이 담긴 생생한 글을 만날 수 있습니다.

박지훈 Headshot

"아니 그래서 도대체 PCI DSS가 뭔데?"

게시됨: 업데이트됨:
인쇄

2016-05-18-1463549868-7537196-39_0.jpg

정보보안 제품들 광고를 보면 제품 도입 결정의 기준이라며 여러가지 '표준'들을 쪼르르 나열하곤 한다. 그중에서도 'PCI DSS'는 유독 자주 등장하는 주인공이다. "자사의 웹방화벽 OOO은 PCI DSS 요구사항을 충족하며 PCI DSS 기준 적합 인증을 보유하고 있습니다!" "오픈소스 데이터베이스 암호화 플랫폼 OOO는 신용카드번호 마스킹 기능 등 PCI DSS 요구사항을 모두 준수합니다!" 말이 어째 좀, 무슨 소리를 하는 건지, 어렵다. 그렇게나 강조하는 걸 보면 뭔가 아주 중요하긴 중요한 것인가 본데,

"아니 그래서 도대체 PCI DSS가 뭔데?"

'PCI DSS'란, 신용카드 회원의 카드정보 및 거래정보를 안전하게 관리하기 위해서 신용카드 결제 전 과정에 걸쳐 관련된 자 모두가 준수해야 하는 신용업계 보안표준이다.

PCI DSS가 등장하기 전에는 신용카드 회사마다 제각각 다른 보안기준을 요구했기 때문에 일반사업자들은 이것저것 서로 다른 수많은 기준을 모두 다 맞추자니 비용도 많이 들고 너무나 불편했다. 그러한 불편을 해소하기 위해 JCB, 아메리칸 익스프레스, Discover, MasterCard, VISA 등 국제적 신용카드 대기업들이 공동으로 위원회를 조직하여 'PCI DSS'라는 사실상 표준을 책정했다.

"우리와 거래를 하려면 이 표준에 따라야 한다!"

그런데 워낙 큰 회사들의 연합이라서 따르지 않을 수가 없다. 거부하면 아예 장사를 못하니까.

그런데 NIST, ANSI, ASA, ISO 등 국제적으로 통용되는 표준제정기관이 아닌 민간기업들이 모여 만든 규격을 '표준'이라 할 수 있을까? 표준이란 어떤 사물을 판단하기 위한 근거나 기준인데 그런 걸 민간인이 출자해 영리적으로 운영하는 사기업이 결정해도 되는 걸까? 의심이 들 수도 있다. 하지만 'PCI DSS' 내용을 자세히 들여다보면 이건 충분히 표준이라 할 만하다. 꽤 훌륭하게 잘 만든 상세하고 치밀한 규격이다.

전반적 그리고 세부적 보안상태 진단 및 심사 과정, 어플리케이션과 시스템 그리고 네트워크 등 영역마다실시하는 침투 테스트 횟수 및 시기 등 큼직한 보안정책뿐 아니라 부정한 로그인 시도를 몇 번 반복하면 잠금 처리할지, 클라이언트 PC에 개인 방화벽 설치 여부는 확인하는지 등 세세한 기준까지 고루 완비했다. 이렇듯 구체적이고 엄격한 내용을 정량적으로 제시하기 때문에 신용카드 거래와 무관한 기업이나 조직도 PCI DSS를 정보보안 기준으로 채택하는 경우도 많다.

PCI DSS 인증 구조

그럼 PCI DSS가 도대체 뭔지 그 내용을 보다 자세히 살펴보자. 그게 뭐든 정체를 제대로 파악하려면 주변에서 이러쿵저러쿵 참견하는 말을 듣는 것보다 당사자들이 직접 "이것은 무엇이다." 설명한 것을 보는 게 좋다. 그러니 'PCI 보안 표준 위원회(PCI Security Standards Council)'이 말하는 PCI DSS의 인증 구조를 보면,

2016-05-18-1463549974-8261420-39_1.jpg

PCI DSS의 인증 구조는 'PTS', 'PA-DSS', 'DSS', 'P2PE' 등 4가지 범주로 분류되어 있다. 하나하나 살펴보기에 앞서 짚어둘 점은, PCI DSS가 궁극적으로 목적하는 일은 2종의 정보를 안전하게 지키는 일이다. 2종의 정보란 신용카드 소유자의 개인정보와 신용카드번호 및 추가정보를 포함한 거래정보인데, 이를 합해 '민감정보'라 하자. PCI DSS의 모든 사양은 바로 그 민감정보를 어떻게 다룰지에 대한 내용이다.

1) PCI PTS (PIN Transaction Security)
신용카드 리더기 등 하드웨어 설계 및 검증 기준이다. 물리적 장비와 네트워크 트랜잭션을 통해 민감정보가 유출되는 것을 막기 위한 통신보안 및 데이터 암호화 등 보안표준 준수 여부를 확인한다.

2) PCI PA-DSS (Payment Application Data Security Standard)
어플리케이션 개발업체를 대상으로 하는 인증 기준이다. 카드사 및 회원사 그리고 신용카드 회원이 사용하는 업무용 소프트웨어에서 민감정보가 전송, 처리, 저장되는 과정에서의 통신보안 및 암호화 여부 등을 확인한다.

3) PCI DSS (Data Security Standard)
신용카드 인프라 총체적으로 안전한 네트워크와 시스템 구성 여부 등을 종합적으로 판단하는 기준이다. 계정통제 및 접근통제를 통해 업무환경의 엄격한 관리는 물론이고 정기적 보안감사 시행 여부 등 보안정책까지 포함하는 아주 넓은 개념이다. 하지만 기술적으로는 역시나 주로 어플리케이션 내부와 통신구간에서의 민감정보의 안전성 및 암호화 여부 등을 따져서 안전성을 판단한다.

4) PCI P2PE (Point to Point Encryption)
PCI DSS 전체의 밑바탕은 다름아닌 암호화다. 그냥 암호화가 아니라 P2P 암호화, 즉 신용카드 단말기에서부터 카드사 어플리케이션을 지나 데이터베이스에 저장될 때까지, 데이터가 이동하는 전 과정에 걸친 종단간 암호화다. 민감정보는 처음부터 끝까지 무조건 암호화되어 있어야 한다.

뭐가 막 복잡하니까 보다 간단히 정리해 보면,

1) PCI PTS = 하드웨어 설계자가 주의할 점
2) PCI PA-DSS = 소프트웨어 개발자가 주의할 점
3) PCI DSS = 민감정보 취급하는 모든 사람이 주의할 점
4) PCI P2PE = 민감정보는 처음부터 끝까지 무조건 암호화

이렇게 볼 수도 있다. 즉, 밑바탕인 4)를 빼고 보면 모두 다 업무 분야에 따른 분류다.

그럼 분야가 아니라 내용 자체만 놓고 보면 어떨까?

PCI DSS, 핵심은 웹 보안과 데이터 암호화

우선 'PCI PTS'를 보면 신용카드 단말기와 네크워크 등 주로 하드웨어 관련 분류인데 그 내용을 들여다보면, 순수 하드웨어설계 외 내용의 대부분이 데이터 암호화 그리고 트랜잭션 통신보안 관련 내용이다. 제대로 암호화하는지, 암호화한 데이터를 안전하게 주고받는지 등. 그런데 아직 통신망으로 전화선을 이용하는 경우가 남아 있긴 하지만 데이터가 이동해 어플리케이션에 도달한 이후엔 모두 다 어플리케이션이 다루는 대상이 된다.

그런데 요즘 어플리케이션은 절대다수가 웹 어플리케이션이다. 실제로 일어나는 어플리케이션 관련 보안침해 사고 대부분이 웹 보안 사고다. 따라서 웹 어플리케이션 개발 과정의 기준이 되는 'PCI PA-DSS'의 내용 대부분은 웹 보안 관련 내용이고, 집중하는 바 내용의 핵심은 데이터 암호화다.

민감정보를 다루는 전반적 보안정책이라 할 수 있는 'PCI DSS' 또한 내용을 들여다보면 대부분이 웹 보안과 데이터 암호화 관련 내용이다. 그리고 'PCI P2PE'는 따로 말할 것도 없이 용어 자체가 구간 전체에 걸친 암호화라는 뜻이니까 역시나 웹 보안과 데이터 암호화가 주된 내용이다.

그런데, 왜 이렇게 웹 보안과 데이터 암호화 내용이 대부분인 걸까?

본격 웹 시대의 데이터 보안

요즘 통신은 거의 전부가 웹이고 요즘 어플리케이션은 거의 전부가 웹 어플리케이션이다. 바야흐로 본격 웹 시대인 것이다. IoT, 핀테크 등 환경을 보다 복잡하게 만드는 기술의 등장으로 인해 웹은 점점 더 우리 일상에 가까워질 것이다. 데이터는 어플리케이션을 통해 이동한다. 그리고 어플리케이션의 주요 환경은 웹이다. 통신기술뿐 아니라 시스템 환경에서부터 사용자 인터페이스에 이르기까지, 모든 IT 기술이 웹으로 통합되고 있다. 앞으로는 모든 어플리케이션이 웹 환경에서 개발되고 운용될 것이다. 따라서 분야를 어떻게 나누든 분류를 어떻게 정의하든 상관 없이 가장 중요한 보안은 '웹 보안'일 수밖에 없다.

그리고 앞서 말했듯, PCI DSS의 궁극적 목적은 민감정보를 안전하게 지키는 일이다. 용어도 복잡하고 하라는 일도 엄청 많고 그렇지만 결국엔 데이터를 지키자는 소리다. 이는 몇 번이고 거듭 되새겨 볼 만한 매우 중요한 핵심이다. 오늘날 정보보안의 중심은 과거에 집중했던 네트워크와 서버 등 인프라를 보호하는 보안으로부터 데이터와 어플리케이션을 보호하는 보안으로 이동하고 있다. 이는 끝내 지켜야 할 진짜 중요한 가치가 무엇인지 깨닫는 과정이다. 정말 지켜야 할 가치는? 당연히 데이터다. 그리고 데이터를 가장 안전하게 지키는 유일한 방법은 '암호화'다.

왜? 암호화 말고는 달리 방법이 없으니까,,

그럼 다시 처음으로 되돌아가, "자사의 웹방화벽 OOO은 PCI DSS 요구사항을 충족하며 PCI DSS 기준 적합 인증을 보유하고 있습니다!" "오픈소스 데이터베이스 암호화 플랫폼 OOO는 신용카드번호 마스킹 기능 등 PCI DSS 요구사항을 모두 준수합니다!" 이런 문장이 조금은 달리 보이지 않는가. 어렵고 복잡해 어지러운 용어도 그 용어의 핵심이 뭔지 파악하고 나면 쉽고 간단해진다.