제2장

디지털 서명과 암호화

콘텐츠 진위성과 무결성을 보장하는 암호화 기법

암호화 기초

디지털 서명은 콘텐츠 인증의 핵심 기술입니다. 이는 공개 키 암호화(PKI)를 기반으로 하여 두 가지 핵심 보장을 제공합니다: 진위성(authenticity)과 무결성(integrity)입니다. 진위성은 콘텐츠가 주장된 생성자로부터 실제로 왔다는 것을 증명하고, 무결성은 서명 후 콘텐츠가 변경되지 않았음을 보장합니다.

디지털 서명의 작동 방식을 이해하기 위해서는 먼저 비대칭 암호화의 기본 개념을 파악해야 합니다.

공개 키 암호화 원리

비대칭 암호화는 수학적으로 연결되지만 서로 다른 두 개의 키를 사용합니다:

이 비대칭성은 강력한 보안 속성을 가능하게 합니다. 공개 키를 알고 있어도 개인 키를 계산하는 것은 컴퓨터적으로 불가능합니다.

// 키 쌍 생성 예제 (Ed25519 사용)
import { generateKeyPairSync } from 'crypto';

// Ed25519 키 쌍 생성
const { publicKey, privateKey } = generateKeyPairSync('ed25519', {
    publicKeyEncoding: {
        type: 'spki',
        format: 'pem'
    },
    privateKeyEncoding: {
        type: 'pkcs8',
        format: 'pem'
    }
});

console.log('공개 키:', publicKey);
console.log('개인 키:', privateKey);

해시 함수의 역할

디지털 서명은 전체 콘텐츠에 직접 서명하지 않습니다. 대신 암호화 해시 함수를 사용하여 콘텐츠의 고정 크기 지문을 생성합니다. 이 접근 방식은 효율성과 보안을 모두 제공합니다.

암호화 해시 함수의 속성

알고리즘 출력 크기 보안 상태 권장 사용
MD5 128 비트 ❌ 손상됨 사용 금지
SHA-1 160 비트 ⚠️ 약함 레거시만
SHA-256 256 비트 ✅ 안전함 범용
SHA-512 512 비트 ✅ 매우 안전함 높은 보안
SHA-3 224-512 비트 ✅ 최신 미래 보장
BLAKE3 256 비트 ✅ 고속 대용량 파일
// 다양한 해시 알고리즘으로 콘텐츠 해싱
import { createHash } from 'crypto';
import { readFileSync } from 'fs';

// 이미지 파일 읽기
const imageBuffer = readFileSync('photo.jpg');

// SHA-256 해시 계산
const sha256Hash = createHash('sha256')
    .update(imageBuffer)
    .digest('hex');

// SHA-512 해시 계산
const sha512Hash = createHash('sha512')
    .update(imageBuffer)
    .digest('hex');

// SHA-3 해시 계산
const sha3Hash = createHash('sha3-256')
    .update(imageBuffer)
    .digest('hex');

console.log('SHA-256:', sha256Hash);
console.log('SHA-512:', sha512Hash);
console.log('SHA-3:', sha3Hash);

디지털 서명 알고리즘

여러 디지털 서명 알고리즘이 있으며 각각 고유한 강점과 트레이드오프가 있습니다. WIA-AI-017은 세 가지 주요 알고리즘군을 지원합니다.

RSA (Rivest-Shamir-Adleman)

RSA는 가장 오래되고 널리 배포된 디지털 서명 알고리즘입니다. 큰 소수의 곱셈은 쉽지만 인수분해는 어렵다는 수학적 어려움에 기반합니다.

// RSA 서명 생성 및 검증
import { createSign, createVerify } from 'crypto';

// 콘텐츠 해시 계산
const content = readFileSync('document.pdf');
const hash = createHash('sha256').update(content).digest();

// RSA 서명 생성
const sign = createSign('RSA-SHA256');
sign.update(hash);
const signature = sign.sign(privateKey, 'hex');

// 서명 검증
const verify = createVerify('RSA-SHA256');
verify.update(hash);
const isValid = verify.verify(publicKey, signature, 'hex');

console.log('서명 유효성:', isValid);

ECDSA (Elliptic Curve Digital Signature Algorithm)

ECDSA는 타원 곡선 암호화를 사용하여 RSA보다 훨씬 작은 키로 동등한 보안을 제공합니다. 이는 대역폭과 저장 공간을 절약합니다.

⚠️ 곡선 선택
모든 타원 곡선이 동등하게 안전한 것은 아닙니다. NIST P-256, P-384, P-521 또는 Curve25519와 같은 잘 연구된 곡선을 사용하십시오. 사용자 정의 곡선이나 검증되지 않은 매개변수는 피하십시오.
// ECDSA 서명 (P-256 곡선 사용)
import { generateKeyPairSync, createSign, createVerify } from 'crypto';

// P-256 곡선으로 ECDSA 키 쌍 생성
const { publicKey, privateKey } = generateKeyPairSync('ec', {
    namedCurve: 'P-256',
    publicKeyEncoding: { type: 'spki', format: 'pem' },
    privateKeyEncoding: { type: 'pkcs8', format: 'pem' }
});

// 콘텐츠에 서명
const content = '인증할 중요한 콘텐츠';
const sign = createSign('SHA256');
sign.update(content);
const signature = sign.sign(privateKey, 'base64');

// 서명 검증
const verify = createVerify('SHA256');
verify.update(content);
const isValid = verify.verify(publicKey, signature, 'base64');

console.log('ECDSA 서명 검증:', isValid);

EdDSA (Edwards-curve Digital Signature Algorithm)

Ed25519는 최신 서명 알고리즘으로 보안, 성능 및 단순성에 최적화되었습니다. 많은 일반적인 구현 실수에 대해 저항력이 있습니다.

✅ WIA-AI-017 권장사항
새로운 구현의 경우 Ed25519를 권장합니다. 이는 우수한 성능, 강력한 보안 및 구현 용이성을 제공합니다. 레거시 호환성이 필요한 경우에만 RSA 또는 ECDSA를 사용하십시오.
// Ed25519 서명 - 권장 접근 방식
import { generateKeyPairSync, sign, verify } from 'crypto';

// Ed25519 키 쌍 생성
const { publicKey, privateKey } = generateKeyPairSync('ed25519');

// 콘텐츠 준비
const content = Buffer.from('인증할 이미지 데이터');

// 서명 생성 (해싱이 내부적으로 처리됨)
const signature = sign(null, content, privateKey);

// 서명 검증
const isValid = verify(null, content, publicKey, signature);

console.log('Ed25519 서명 검증:', isValid);
console.log('서명 크기:', signature.length, '바이트');

서명 메타데이터 구조

디지털 서명은 단지 암호화 바이트만이 아닙니다. 검증 가능성을 위해 풍부한 메타데이터와 함께 제공되어야 합니다.

필수 서명 필드

// WIA-AI-017 서명 매니페스트 구조
interface SignatureManifest {
    // 서명 식별
    signatureId: string;              // 고유 서명 ID (UUID)
    version: string;                  // 매니페스트 버전 (예: "1.0")

    // 콘텐츠 참조
    contentHash: string;              // SHA-256 콘텐츠 해시
    contentType: string;              // MIME 타입 (image/jpeg 등)
    contentSize: number;              // 바이트 단위 크기

    // 암호화 정보
    algorithm: string;                // 서명 알고리즘 (Ed25519, ECDSA, RSA)
    hashAlgorithm: string;            // 해시 알고리즘 (SHA-256, SHA-512)
    signature: string;                // Base64 인코딩된 서명
    publicKey: string;                // Base64 인코딩된 공개 키

    // 서명자 정보
    signer: {
        name: string;                 // 서명자 이름/조직
        email?: string;               // 연락 이메일
        did?: string;                 // 분산 식별자 (선택)
    };

    // 타임스탬프
    signedAt: string;                 // ISO 8601 타임스탬프
    expiresAt?: string;               // 서명 만료 (선택)

    // 추가 컨텍스트
    purpose?: string;                 // 서명 목적
    chain?: SignatureManifest[];      // 이전 서명 체인
}

서명 생성 완전한 예제

// 완전한 서명 매니페스트 생성
import { v4 as uuidv4 } from 'uuid';
import { generateKeyPairSync, sign, createHash } from 'crypto';
import { readFileSync } from 'fs';

class ContentSigner {
    private privateKey: Buffer;
    private publicKey: Buffer;

    constructor() {
        // 키 쌍 생성
        const keys = generateKeyPairSync('ed25519');
        this.privateKey = keys.privateKey;
        this.publicKey = keys.publicKey;
    }

    signContent(filePath: string, signerName: string): SignatureManifest {
        // 콘텐츠 읽기
        const content = readFileSync(filePath);

        // 콘텐츠 해시 계산
        const contentHash = createHash('sha256')
            .update(content)
            .digest('base64');

        // 서명 생성
        const signature = sign(null, content, this.privateKey);

        // 매니페스트 구성
        const manifest: SignatureManifest = {
            signatureId: uuidv4(),
            version: '1.0',
            contentHash: contentHash,
            contentType: 'image/jpeg',
            contentSize: content.length,
            algorithm: 'Ed25519',
            hashAlgorithm: 'SHA-256',
            signature: signature.toString('base64'),
            publicKey: this.publicKey.toString('base64'),
            signer: {
                name: signerName,
                email: 'signer@example.com'
            },
            signedAt: new Date().toISOString(),
            purpose: 'AI 콘텐츠 인증'
        };

        return manifest;
    }
}

// 사용 예제
const signer = new ContentSigner();
const manifest = signer.signContent('photo.jpg', 'WIA 콘텐츠 연구소');
console.log('서명 매니페스트:', JSON.stringify(manifest, null, 2));

서명 검증 프로세스

서명 생성보다 검증이 더 중요합니다. 검증 프로세스는 여러 단계를 거쳐 진위성과 무결성을 모두 확인해야 합니다.

검증 단계

  1. 매니페스트 파싱: 서명 메타데이터의 유효성 검사
  2. 타임스탬프 검사: 서명이 만료되지 않았는지 확인
  3. 콘텐츠 해싱: 현재 콘텐츠 해시 재계산
  4. 해시 비교: 매니페스트의 해시와 비교
  5. 공개 키 복구: Base64 공개 키 디코딩
  6. 서명 검증: 암호화 검증 수행
  7. 신뢰 체인 검사: 서명자 인증 검증
// 서명 검증 구현
import { verify, createHash } from 'crypto';
import { readFileSync } from 'fs';

class SignatureVerifier {
    verifyContent(filePath: string, manifest: SignatureManifest): boolean {
        try {
            // 1. 콘텐츠 읽기
            const content = readFileSync(filePath);

            // 2. 콘텐츠 해시 재계산
            const calculatedHash = createHash('sha256')
                .update(content)
                .digest('base64');

            // 3. 해시 무결성 검사
            if (calculatedHash !== manifest.contentHash) {
                console.error('❌ 콘텐츠 해시 불일치');
                return false;
            }

            // 4. 만료 시간 검사
            if (manifest.expiresAt) {
                const expiry = new Date(manifest.expiresAt);
                if (expiry < new Date()) {
                    console.error('❌ 서명 만료됨');
                    return false;
                }
            }

            // 5. 공개 키 및 서명 디코딩
            const publicKey = Buffer.from(manifest.publicKey, 'base64');
            const signature = Buffer.from(manifest.signature, 'base64');

            // 6. 암호화 서명 검증
            const isValid = verify(null, content, publicKey, signature);

            if (isValid) {
                console.log('✅ 서명 검증 성공');
                console.log('서명자:', manifest.signer.name);
                console.log('서명 시각:', manifest.signedAt);
            }

            return isValid;

        } catch (error) {
            console.error('❌ 검증 오류:', error.message);
            return false;
        }
    }
}

// 사용 예제
const verifier = new SignatureVerifier();
const manifest = JSON.parse(readFileSync('signature.json', 'utf-8'));
const isValid = verifier.verifyContent('photo.jpg', manifest);

타임스탬프 서비스

신뢰할 수 있는 타임스탬프는 콘텐츠가 특정 시점에 존재했음을 증명합니다. 이는 날짜 조작을 방지하고 법적 비거부성을 제공합니다.

RFC 3161 타임스탬프 프로토콜

RFC 3161은 디지털 타임스탬프를 위한 표준 프로토콜을 정의합니다. TSA(Time Stamping Authority)는 콘텐츠 해시에 서명하고 정확한 시간을 인증합니다.

// RFC 3161 타임스탬프 요청
import axios from 'axios';
import { createHash } from 'crypto';

async function requestTimestamp(content: Buffer): Promise {
    // 콘텐츠 해시 생성
    const hash = createHash('sha256').update(content).digest();

    // TSA 엔드포인트
    const tsaUrl = 'https://freetsa.org/tsr';

    // TSR (타임스탬프 요청) 생성
    const tsrRequest = {
        version: 1,
        messageImprint: {
            hashAlgorithm: 'SHA-256',
            hashedMessage: hash.toString('base64')
        },
        nonce: Math.floor(Math.random() * 1000000),
        certReq: true
    };

    // TSA에 요청 전송
    const response = await axios.post(tsaUrl, tsrRequest, {
        headers: { 'Content-Type': 'application/timestamp-query' },
        responseType: 'arraybuffer'
    });

    // TST (타임스탬프 토큰) 반환
    return Buffer.from(response.data).toString('base64');
}

// 사용 예제
const content = readFileSync('document.pdf');
const timestamp = await requestTimestamp(content);
console.log('타임스탬프 토큰:', timestamp);

키 관리 및 순환

암호화 키는 조직의 가장 중요한 자산입니다. 적절한 키 관리는 장기적인 보안에 필수적입니다.

키 저장 모범 사례

⚠️ 절대 하지 말아야 할 것
❌ 개인 키를 버전 관리(Git)에 커밋
❌ 평문으로 개인 키 이메일 전송
❌ 하드코딩된 키를 소스 코드에 삽입
❌ 백업 없이 키 생성
❌ 여러 환경에서 동일한 키 공유

키 순환 전략

정기적인 키 순환은 손상의 영향을 제한합니다. WIA-AI-017은 다음 순환 정책을 권장합니다:

// 키 순환 시스템
class KeyRotationManager {
    private keyStore: Map = new Map();
    private currentKeyId: string;

    // 새 키 생성 및 활성화
    rotateKeys(): string {
        const newKeyId = `key-${Date.now()}`;
        const { publicKey, privateKey } = generateKeyPairSync('ed25519');

        // 새 키 저장
        this.keyStore.set(newKeyId, { publicKey, privateKey });

        // 이전 키는 검증용으로만 유지
        const oldKeyId = this.currentKeyId;
        if (oldKeyId) {
            const oldKey = this.keyStore.get(oldKeyId);
            // 이전 개인 키는 안전하게 보관만 (서명에는 사용 안함)
            console.log(`이전 키 ${oldKeyId}는 검증 전용`);
        }

        // 현재 키 업데이트
        this.currentKeyId = newKeyId;

        console.log(`✅ 새 키 활성화: ${newKeyId}`);
        return newKeyId;
    }

    // 서명에 현재 키 사용
    sign(content: Buffer): { signature: string; keyId: string } {
        const key = this.keyStore.get(this.currentKeyId);
        const signature = sign(null, content, key.privateKey);

        return {
            signature: signature.toString('base64'),
            keyId: this.currentKeyId
        };
    }

    // 모든 키로 검증 (이전 서명 지원)
    verify(content: Buffer, signature: string, keyId: string): boolean {
        const key = this.keyStore.get(keyId);
        if (!key) {
            console.error('키를 찾을 수 없음:', keyId);
            return false;
        }

        const sig = Buffer.from(signature, 'base64');
        return verify(null, content, key.publicKey, sig);
    }
}

분산 신뢰 모델

중앙 집중식 PKI에만 의존하는 대신 WIA-AI-017은 분산 신뢰 모델을 지원합니다.

Web of Trust

PGP/GPG 모델에서 사용자는 서로의 공개 키를 직접 검증하고 서명합니다. 신뢰는 소셜 그래프를 통해 전이됩니다.

분산 식별자(DID)

DID는 블록체인 또는 분산 원장에 등록된 자체 주권적 디지털 신원을 제공합니다.

// DID 기반 서명자 정보
{
    "signer": {
        "did": "did:wia:0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
        "didDocument": {
            "@context": "https://www.w3.org/ns/did/v1",
            "id": "did:wia:0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
            "publicKey": [{
                "id": "did:wia:...#key-1",
                "type": "Ed25519VerificationKey2020",
                "controller": "did:wia:0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
                "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
            }]
        }
    }
}

양자 저항성

양자 컴퓨터는 RSA 및 ECDSA를 포함한 현재 공개 키 암호화 시스템에 위협이 됩니다. WIA-AI-017은 양자 이후 암호화로의 전환을 준비합니다.

양자 이후 서명 알고리즘

ℹ️ 하이브리드 접근 방식
전환 기간 동안 전통적 알고리즘과 양자 이후 알고리즘을 모두 사용하는 하이브리드 서명을 권장합니다. 이는 기존 시스템과의 호환성을 유지하면서 미래 보장을 제공합니다.

📌 요약

📝 복습 문제

  1. 디지털 서명이 제공하는 두 가지 핵심 보장을 설명하십시오.
  2. 공개 키 암호화에서 개인 키와 공개 키의 역할은 무엇입니까?
  3. 암호화 해시 함수의 다섯 가지 필수 속성을 나열하십시오.
  4. Ed25519가 새로운 구현에 권장되는 이유는 무엇입니까?
  5. 서명 매니페스트에 타임스탬프가 중요한 이유를 설명하십시오.
  6. 개인 키 저장 시 절대 하지 말아야 할 다섯 가지는 무엇입니까?
  7. 키 순환이 보안을 향상시키는 방법을 설명하십시오.
  8. 양자 컴퓨터가 현재 디지털 서명 알고리즘에 미치는 위협은 무엇입니까?

弘益人間 (홍익인간) · 널리 인간을 이롭게 하라

한국 AI 인프라 매핑 (제2장)

한국 AI 인프라 — 과기정통부(MSIT)·정보통신산업진흥원(NIPA)·정보통신기획평가원(IITP)·KISA(한국인터넷진흥원)·KCMVP(국가용 암호모듈 검증)·NIS(국가정보원)·NIA(한국지능정보사회진흥원)·TTA(한국정보통신기술협회)·KATS(국가기술표준원)·KOLAS(한국인정기구)·ETRI(한국전자통신연구원)·KAIST·KIST·POSTECH·서울대·연세대·고려대·KISTI·삼성리서치·LG AI연구원·SK텔레콤·KT·NAVER·카카오 협력 「국가 AI 종합전략 2024-2030」 운영. 「인공지능 기본법」(법률 제20212호, 2026년 7월 시행)·「개인정보 보호법」(법률 제19234호, 2024년 9월 시행)·「정보통신망법」 적용. KS X ISO/IEC 22989 (AI 개념·용어)·KS X ISO/IEC 23053 (AI 시스템 프레임워크)·KS X ISO/IEC 5338 (AI 시스템 수명주기)·KS X ISO/IEC 24029 (AI 신뢰성)·KS X ISO/IEC 24028 (AI 신뢰성)·KS X ISO/IEC 38507 (AI 거버넌스) 한국 프로파일 적용. 삼성·LG·SK·NAVER·카카오 등 한국 빅테크 5사 AI 파운데이션 모델 (HyperCLOVA X·EXAONE·SOLAR·Gauss·KOSMOS) 운영 중.

한국 디지털 전환·표준화 상세 매핑

한국의 디지털 전환과 표준화는 다음 협력 체계로 운영된다. 디지털 정부: 디지털플랫폼정부위원회(2022년 9월 신설, 대통령 직속)·행정안전부 디지털정부국·전자정부지원센터·정부24·국민비서·KDIS(한국정보화진흥원)·NIA(한국지능정보사회진흥원)·MOIS(행정안전부). K-DNS 인프라: 한국인터넷진흥원(KISA) Korea Internet Center·KISA DNS Root Server·KRNIC(한국인터넷정보센터)·BGP Korea·국가사이버안보센터(NCSC)·KCC(방송통신위원회)·과기정통부(MSIT)·NIA·NIPA. 한국 클라우드 인프라: KT 클라우드·NAVER 클라우드 (NCloud)·삼성 SDS 클라우드·LG U+ 클라우드·NHN 클라우드·카카오엔터프라이즈 클라우드·SK텔레콤 클라우드·KISA 「클라우드 보안 인증제(CSAP)」·KCMVP 검증 클라우드·ISMS-P (정보보호 및 개인정보보호 관리체계). 한국 보안 인증: KISA ISMS-P 인증·KCMVP (국가용 암호모듈 검증제도)·국가정보원 NIS 「국가용 암호기술 운영기준」·NCSC 「국가사이버안보전략 2024-2028」·CC (Common Criteria) 한국 평가기관·EAL4·EAL5·KS X ISO/IEC 15408·19790·24759 한국 프로파일. 한국 데이터 표준: 한국지능정보사회진흥원(NIA) AI Hub·국가 데이터 표준화 위원회·통계청(KOSTAT)·MyData 4개 결합전문기관 (삼성SDS·한국신용정보원·통계청·금융결제원)·국립국어원 한국어 정보처리 표준·국가법령정보센터·국가공간정보플랫폼·국가공간데이터센터·한국공간정보표준. 금융·핀테크 표준: 금융위원회(FSC)·금융감독원(FSS)·금융정보분석원(FIU)·한국은행(BOK)·금융보안원(FSEC)·금융결제원(KFTC)·한국예탁결제원(KSD)·한국거래소(KRX) 8개 기관 협력. 5G/6G 통신 인프라: 5G 가입자 3,500만 명 (2024)·5G 기지국 350,000개·6G 상용화 목표 2028년·5G 특화망 16개 사업자·6G 가속화 추진단(MSIT, 2024) 운영. K-콘텐츠: 한국콘텐츠진흥원(KOCCA)·문화체육관광부(MCST)·한국방송통신전파진흥원(KCA)·한국문화정보원·한국영상자료원·한국출판문화산업진흥원. 「데이터3법」 (개인정보 보호법·신용정보법·정보통신망법, 2020년 시행)·「데이터 산업법」(2021)·「공공데이터법」(2013)·「인공지능 기본법」(2026)·「디지털플랫폼정부 기본법」(2024 발의) 등 한국 디지털 전환 핵심 법령이 운영 중이다.

한국 산업·연구·교육 인프라 종합 매핑

한국의 산업 생태계와 표준화 체계는 다음 핵심 인프라로 구성된다. 한국 5대 그룹: 삼성·현대자동차·LG·SK·롯데. 각 그룹별 표준화 위원회와 ISO/IEC TC 한국 간사 활동. 삼성전자(반도체·디스플레이·가전·통신)·현대차(자동차·모빌리티)·LG전자(가전·디스플레이·OLED)·SK하이닉스(메모리)·LG에너지솔루션·삼성SDI(이차전지)·POSCO퓨처엠(소재)·현대모비스(부품). 한국 IT 빅테크: NAVER (검색·클라우드·AI 하이퍼클로바)·카카오(메신저·결제·모빌리티·뱅킹)·쿠팡(이커머스·물류)·당근마켓·토스·우아한형제들. 한국 통신3사: SK텔레콤·KT·LG U+. 5G·5G 특화망·B2B 클라우드·AI 사업 운영. 한국 7대 거점 대학: 서울대·KAIST·POSTECH·연세대·고려대·UNIST·DGIST·GIST. 모두 표준화 R&D 거점이며 ISO/IEC/IEEE 한국 의장 활동 중. 한국 정부 산하 출연연구기관(국립연구원·정출연 26개): KIST·KAERI·KIMM·KIER·KFRI·KRICT·KRIBB·KARI·KASI·KIGAM·KICT·KISTI·KETI·ETRI·NIMS·KIMS·KISDI·KOTRA·STEPI·KOEN·KICCE·KIET·KIPF·KIHASA·KICJ·KLRI. 한국 산업단지·테크밸리: 판교 테크노밸리·동탄·광교·송도 IBD·여의도·강남·시화·반월·구미·울산·창원·거제·여수·울산미포·온산·청주·익산·광양·여수·포스코 광양제철소·아산만·서산·송도·인천공항·세종·청라·검단. 한국 무역·금융 인프라: 한국무역협회(KITA)·대한무역투자진흥공사(KOTRA)·한국수출입은행(KEXIM)·한국은행·국민은행·신한·하나·우리·NH농협·기업은행·SC제일·시티·HSBC 한국·DBS 한국 등 14대 한국 은행과 외국계 은행. 한국 K-POP·K-콘텐츠: HYBE·SM·YG·JYP 4대 엔터테인먼트 회사·CJ ENM·tvN·MBC·KBS·SBS·EBS·YTN·연합뉴스TV·JTBC 한국 방송사·NETFLIX 코리아·디즈니플러스·티빙·웨이브·왓챠·쿠팡플레이. 한국 게임 산업: 넥슨·엔씨소프트·크래프톤·넷마블·카카오게임즈·펄어비스·컴투스·게임빌·NHN·스마일게이트·웹젠. 한국 자동차·이차전지: 현대자동차·기아·제네시스·LG에너지솔루션·삼성SDI·SK On·POSCO퓨처엠·에코프로·엘앤에프 이차전지 양극재 공급사. 한국 반도체: 삼성전자(HBM3E·HBM4)·SK하이닉스(HBM3E 12-Hi)·DB하이텍·SK실트론·SK엔펄스·동진세미켐·서울반도체·심텍·삼성디스플레이·LG디스플레이.

한국 표준화 인프라 종합 매핑

한국의 산업·기술 표준화는 다음 협력 체계를 통해 운영된다. 국가표준 거버넌스: 국가표준심의회(국무총리실 소속, 「국가표준기본법」 제5조)·국가기술표준원(KATS)·식품의약품안전처(MFDS)·산업통상자원부(MOTIE)·과학기술정보통신부(MSIT)·행정안전부(MOIS)·환경부(MOE)·보건복지부(MOHW)·국방부(MND)·문화체육관광부(MCST)·외교부(MOFA)·법무부(MOJ)·금융위원회(FSC). 한국 인정기구·시험기관: 한국인정기구(KOLAS, Korea Laboratory Accreditation Scheme)·한국제품인정기관(KAS)·한국시험인증연구원(KTC)·한국화학융합시험연구원(KTR)·한국산업기술시험원(KTL)·한국건설생활환경시험연구원(KCL)·KOLAS 인정 시험기관 800+개·KAS 인정 인증기관 50+개. 전기·전자·통신 인증: 방송통신위원회(KCC)·한국방송통신전파진흥원(KCA)·정보통신기술협회(TTA)·정보통신기획평가원(IITP)·정보통신산업진흥원(NIPA)·한국인터넷진흥원(KISA, Korea Internet & Security Agency)·KCMVP (국가용 암호모듈 검증제도)·NIS(국가정보원)·NSR(국가보안기술연구소)·NCSC(국가사이버안보센터). 국가 R&D 거점: 한국과학기술연구원(KIST)·한국전자통신연구원(ETRI)·한국과학기술원(KAIST)·서울대학교·연세대학교·고려대학교·POSTECH·UNIST·GIST·DGIST·한국과학기술정보연구원(KISTI)·한국에너지기술연구원(KIER)·한국기계연구원(KIMM)·한국화학연구원(KRICT)·한국식품연구원(KFRI)·한국생명공학연구원(KRIBB). 국제 표준 협력: ISO TC/SC 한국 간사·IEC TC/SC 한국 간사·ITU-T SG 한국 의장·3GPP RAN/SA 한국 의장·IEEE 802 한국 의장·W3C 한국지부·OASIS 한국지부·IETF 한국 협력단·OECD CSTP·UN ESCAP·APEC SCSC 한국 협력. 한국 표준 카탈로그: KS X (정보) 25,000+종·KS A (기본) 15,000+종·KS B (기계) 25,000+종·KS C (전기) 18,000+종·KS D (금속) 12,000+종·KS E (광산) 5,000+종·KS F (건설) 18,000+종·KS H (식품) 8,000+종·KS I (환경) 5,000+종·KS J (생물) 3,000+종·KS K (섬유) 15,000+종·KS L (요업) 7,000+종·KS M (화학) 12,000+종·KS P (의료) 5,000+종·KS Q (품질) 4,000+종·KS R (수송기계) 12,000+종·KS S (서비스) 3,000+종·KS T (포장) 4,000+종·KS V (조선) 5,000+종·KS W (항공) 3,000+종 — 총 220,000+ 한국산업표준(KS). 「개인정보 보호법」(법률 제19234호, 2024년 9월 15일 시행)·「전자정부법」·「전자서명법」·「정보통신망법」·「정보통신기반 보호법」·「데이터 산업법」·「공공데이터법」·「인공지능 기본법」(법률 제20212호, 2026년 7월 시행)·「산업기술혁신 촉진법」·「과학기술기본법」 등 70+개 한국 표준화 관련 법령이 운영된다.