KONA PLATE를 통해 제공되는 API는 개인정보 및 민감 데이터를 포함하고 있기 때문에 TLS(Transport Layer Security)의 보안과 다양한 민감 정보를 외부로 누출해 재사용하지 못하도록 비대칭 암호화 방식을 통한 데이터 보안 서비스를 제공하고 있습니다.
ME(Message Encryption)는 아래 데이터를 포함할 때 제공하고 있습니다. 1. PII(Personally Identifiable Information) : 개인 식별 정보 2. PAN(Primary Account Number) : 개인 계좌 번호 3. PAI(Personal Account Information) : 개인 계정 정보
KONA PLATE의 ME는 비대칭 암호화 기술(공개 키 암호화)을 사용하여 Message Payload에 대한 향상된 보안을 제공합니다. ME는 128비트 또는 256비트의 AES(Advacnced Encrytpion Stardard), GCM(Glois Counter Mode)을 사용하는 대칭 암호화를 통해 개발되었습니다. 키 암호화는 2,048비트의 RSA-OAEP(Rivest ShamirAdleman-Optimal Asymmetric Encryptio Padding)로 지원하고 있습니다.
ME는 JWE(JSON Web Encryption)를 사용하여 SSL(Secure Sockets Layer)을 통해 Request, Response의 암/복호화를 지원하며 API의 Request/Response 암호화 여부를 확인하여 요청되어야 합니다. API의 Request/Response 암호화 여부는 API Document에서 확인할 수 있습니다. 1. 서버 인증서 : KONA PLATE에 요청을 보낼 때 클라이언트는 서버 공개 키를 사용하여 Message Payload를 암호화하고 KONA PLATE는 서버 개인 키를 사용하여 Payload를 복호화 합니다. 2. 클라이언트 인증서 : KONA PLATE에서 응답을 받을 때 KONA PLATE는 클라이언트의 공개 키를 사용하여 Payload를 암호화 하고 클라이언트는 서버의 개인 키를 사용하여 복호화 합니다.
4. encData의 필드명으로 서버에 API를 요청합니다. 응답도 암호화 설정이 있는 경우 encData의 필드명으로 응답이 되어 집니다.
5. 응답 값이 암호화가 된 경우 응답 값의 헤더 값의 암호화 키의 서버 공개키로 데이터를 복호화 합니다.
* Sample Message Encryption
Request Message { "encData": "eyJlbmMiOiJBMTI4R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.Jr_65BmLWw6lpcbRTWXH6fi04RvoSs6nv6WRh99mletj5vSoFkJf6y JnJrtz3FKw9t2oOLX-_zb-F08dOtt6xVlMlb41HEIvRtINGNpMIKNQnmryiVCmDyPc7NFxLoCTMAcv4cxtL9FX-TpX_sNty5Nm2MsrKNnjln8nVQvoFtt brFpED7vCfFqKmqAp9bDQwyp8PJXBjOxdAe0F0DsdoEp5al7cwY9I7cBEhCI452qR_wXyikrAesaN74a9vEEn6znetrRwcyzc8gLou9agQ8ppdWrS8 VpS5oOBXW5953lR_Br0tkBB7fCL2nB8C_gLCD0P8IlSeDYnQn7je_izyg.TsETXkd6Xa-TGPhI.VFsS2-brNJwYJqdWfqcepmF-u1zhAf3cy0lFMp9k4Yy 739p_P0of1VxrIWeqd5o3DdPuDtEY16coIiZd7m_9GrVb_m_X9w.ksZ2ueGkYovMS9ODX7m1zg" } Response Message { "encData": "eyJlbmMiOiJBMTI4R0NNIiwiYWxnIjoiUlNBLU9BRVAtMjU2In0.P0S41dkjgELl7yOf4dM9ld7e4X4IQ3nlhUbBDAV9Mv6AGhdr4KH-HPjOY unEKzf9JrLFngNmTTfxYjMngNGHKShE3h-WMf-Il1PlBNyd7_Rbq1uQre4UOyG7zzKESMdc8yE8hhJwqVHQscIyfGGex3NKpTmHci4i97-JytW-Ubqqx x8qvd0q5b8WJ3ykszh3ZcVbfv2nssCZKhoK0fhVsHx1Ucbd4TTNgIsOBeyKRXbxsLAkcsZbMeVcVdDQFX60qzxTMzBtA22SmgAXqrur5R0byVf27f9p 4DakkvXPXZI9zwCssOPlXE_8nXZ1CrNwiGsLg5iEQ9zI6CcOy8t-w._K98ydHorNTKsSJB.aYpj6ZXT2Ll2S5LOLuigdDeLOQ4FoL9bJbW9waS-KOFow2 VavpvYMy7Ngn_-GIuXD5ghVEx6dJhSbPLDqRehrYrmQlkuSwAOq8upwFJV0CY4AIDX4z1tsNsRS2GsOvc3XHAEZd3iC9ZFSg8JXMHF9n TJkKWKDl2xvLMuC8OEC70g4qnsTMUkvYGcIF62UObeU4h2DqFzk_L0rTlXXyg6o uQiYtmIfVaTbpRPa2IcjWJe0iWswubG4YCmuJKJs-VLG3pid08IcUsETW3MlaqkAVlS1XaRpE8kYHTbfGfbp3Ckw8h7Ur55_iFEZwI19caMleQE6lSkVryimudIaVjQaWrHnLNR1cHR0mWJeUW4xTeGnVrtYeWjH uJ7zsgMhvLQbISaySDRqEu7fEA8Jp7TkC0ywR-0f8ajRYDstFotcTDkP9QI1CadVLCEBIm3ndFkn5BIj-i6xcfZSOFn2rzc0GsezqbY07DcebTtC2CAmQZLdJ-iWTpU-6mdV_nSy1NPlry0eszsQlwItTTB2ktsUTll9oRpdyaucPTMB2r90Lc9bDMy1bipUMgBLoLGyFUNC-1BDgUnmC_X6nYoCDA7QHH_F53xtbNn4lb8a6THCHFFgTMz63rgtwg9r2pAeDMBH7ouTRDzLN4SKlU0OpjmhcQ1Td0WoyjfUHoCse_Cm9-Zbueegfk5XB24YF0ctK.-NN9qbJL-HRd3gfcGBZBfA" }
* 파일명 예시 : 5cd10fa4b92f7b33995360267efc67cf_client.pem
-----BEGIN PUBLIC KEY----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnuPt1AO/tRu/67qbs/wkJlKJ+8rD69CoG6i2BjFN1RfURse2KTNPT+Yp8JUn9Pgk7Qm8kawPbQoGmizo3deLwc0oQJimxaIDtFuAFWNXFlXN//Foi+BrLtHCETJ0MV4t3PSAhntiCG6I6dloKl4VtHqwpqJxSp7aWvAmVWd83tG5QhSY4Zmlb9HrK5cTcQKBQE9iAbHj0hHprWj9Am2sN9D5jYAN6FXf05Oan3hY7ulIixPCiuQUUZQep3AmvsAlJS95skbsmlUxfyDZSvdjLO0TJ9Vaa1mPp5A8Gd3kyvrJ8Atktx9HGZqz0JPdMx9ft5PuV+EqHocNSPRHM44pgwIDAQAB -----END PUBLIC KEY-----
-----BEGIN PRIVATE KEY-----MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCe4+3UA7+1G7/rupuz/CQmUon7ysPr0KgbqLYGMU3VF9RGx7YpM09P5inwlSf0+CTtCbyRrA9tCgaaLOjd14vBzShAmKbFogO0W4AVY1cWVc3/8WiL4Gsu0cIRMnQxXi3c9ICGe2IIbojp2WgqXhW0erCmonFKntpa8CZVZ3ze0blCFJjhmaVv0esrlxNxAoFAT2IBsePSEemtaP0Cbaw30PmNgA3oVd/Tk5qfeFju6UiLE8KK5BRRlB6ncCa+wCUlL3myRuyaVTF/INlK92Ms7RMn1VprWY+nkDwZ3eTK+snwC2S3H0cZmrPQk90zH1+3k+5X4Soehw1I9EczjimDAgMBAAECggEBAJFodhY4+BB+PL02IZgtf8eycaSEg5gjdDUbyLkSFfCVxiagTgyWcFbmhCsv1UlSbjifWHrXw6Y+LpyZzOJ4h+XsIpI7ISRsiIdd1XG9X82I6OT5wHuB/ZTzUW77hWpIjiBPge+Qqr6cqZ+Y3sMnJyXrwg49SwDHL31ZmTs/Yf9m5ATQC/z3Ce5lGCC71rISorYdh6fjtJ5E0TTtbUVvmNm7JNNGsbmf/T1/WaauA0eDTlZqRtziJFDKof4KvjaKkUdrjV1V6IK7We5hMkhXxzMvftVUv+cOkR0ZZj5HDf/Z/Bx5GArPCcGgs/FYiGJtzncqxWq5c73lfiaBmzeT8YECgYEA/bComzyWuhHe6u31ZYgtxy66RfniuC3ZSDnYkPChK+0nDejbze/OyD0/domEZVF4sBhzMuwZTJWWvN3ePq2U5x6L+G4DkCvgBneywvbeBwj4fd6iMEuIDQRXkBYRXmM+Eet6Y+8eB38Ygoh2oiML4Jo49+RUupZ0ie1pNnK6hxsCgYEAoFZLyWmVLPlstQYxrfyYrQ4zbKmeFP5c9x5oSkB0/V3NnDlWM+GkU6maJVuLwsLe976iwg8Y50YM8O2+3CTvywtmDdiVbOv3Lg+LLXk+AGiy6OzrXX/P55g3Hv04V8ybgtLKwq91BXuG2MxP7n4bAUvBfI6qhpViZlmHkzlNBbkCgYBqW6oUiy5WDC/9Jo5/ZrxqiXim5cDbnr09vqLBAWFQ3ThGaJ3elO+Im8UDmVvcbm++xEFn0/w3U2/C9vG6LWQEEZZ1LQppYzuk+oIDoyQqpuQnQTOWM9RyQKPFULsva0QWlzbUtudMFUjdUQELsM3F+GJx61RqdbGeMd6uaSMyiQKBgQCHqLwyzAyVouwhNf5usVwUgAFunQzNwnGx/J5MxMC3ZtiCp9iRyQaaatOrbAuSXAL/JuLawp9VfuWQK/fil7Xz288bQ/cZ04SuCiS98ulMu0k03tA9qdikoRtyMtmrH8ksJWG822ttmhh78lJm/Xen3wr0cllByb8ZzgJxxHewsQKBgQDAu+eEJZlasVmmEVopQwNKxMLY+m98DfM32Fgf9VyuwguM -----END PRIVATE KEY-----