ASP KISA-SEED-CBC 암복호화 모듈


국내 웹 서비스 환경에서는 개인정보 보호 및 보안 규정 준수를 위해 한국인터넷진흥원(KISA)에서 개발한 국산 표준 대칭키 암호화 알고리즘인 SEED-CBC를 적용해야 하는 경우가 많습니다.

특히 금융권 연동, 공공기관 제출용 데이터, 또는 오래된 레거시 시스템 관리 시 Classic ASP 환경에서 SEED-CBC 128비트 암복호화를 구현해야 할 때가 있는데요. 이번 포스팅에서는 ASP 환경에서 손쉽게 적용할 수 있는 KISA SEED-CBC 암복호화 모듈의 구성과 사용법을 직관적으로 정리해 드립니다.

💡 KISA SEED-CBC 구성 패키지 가이드:
전체 모듈은 소스 코드 내 암호화 코어 로직(KISA_SEED_CBC.asp), 환경 설정(config.asp), 실질적인 복호화 및 암호화 처리를 담당하는 파일(SeedDecryption.asp, SeedEncryption.asp) 등으로 분할 구성하는 것이 유지보수에 유리합니다. 아래 각 파일의 핵심 역할을 마우스로 드래그하여 반전 효과로 확인해 보세요!

1. SEED-CBC 모듈 핵심 파일 구성

일반적으로 KISA에서 배포하는 알고리즘을 ASP에 맞게 포팅한 패키지는 다음과 같은 파일 구조를 가집니다.

  • config.asp : 암호화에 사용할 대칭키(Secret Key) 및 초기화 벡터(IV, Initial Vector) 설정 파일
  • KISA_SEED_CBC.asp : SEED 128 알고리즘의 블록 암호화 및 CBC 운영 모드가 구현된 코어 라이브러리
  • SeedEncryption.asp : 일반 텍스트를 입력받아 코어 라이브러리를 거쳐 암호문(Hex 또는 Base64)으로 출력하는 파일
  • SeedDecryption.asp : 암호화된 텍스트를 다시 원문으로 되돌려주는 복호화 파일

2. ASP 실무 적용 예제 코드

실제 ASP 웹 페이지에서 라이브러리를 포함(include)하여 데이터를 암호화하고 복호화하는 가장 직관적인 실무 패턴 예제입니다.

① 데이터 암호화 (Encryption) 예제

'
'
<%
    Dim plainText, encryptedText
    plainText = "홍길동 (010-1234-5678)" ' 암호화할 원본 데이터

    ' KISA_SEED_CBC 내부에 정의된 암호화 함수 호출 (설정된 Key와 IV 사용)
    encryptedText = SEED_CBC_Encrypt(plainText)

    Response.Write "원본 데이터: " & plainText & "<br>"
    Response.Write "암호화 결과 (Hex/Base64): " & encryptedText
%>

3. 운영 시 주의사항 (Troubleshooting)

  • 대칭키(Key) 관리: SEED-CBC 128은 16바이트(128비트) 크기의 비밀키를 사용합니다. config.asp 내부의 키 값이 외부로 유출되지 않도록 웹 서버 접근 권한 관리를 철저히 해야 합니다.
  • 인코딩 설정: 한글 깨짐을 방지하기 위해 ASP 페이지 상단의 코드페이지 설정(@LANGUAGE="VBSCRIPT" CODEPAGE="65001") 및 Response.CharSet = "UTF-8" 처리가 암복호화 모듈 전체와 동기화되어 있어야 합니다.

4. 안전한 모듈 파일 다운로드

블로그 직접 업로드 방식은 구글 SEO 페널티 위험이 있으므로, KISA 암호알고리즘소스코드 자료실 링크를 제공합니다. 아래 버튼을 클릭하여 안전하게 전체 소스코드를 다운로드하세요.