제7장

C2PA 통합

콘텐츠 출처 및 진위성 연합 표준 구현

C2PA 소개

C2PA(Coalition for Content Provenance and Authenticity)는 Adobe, Microsoft, BBC 등이 주도하는 업계 표준으로, 디지털 콘텐츠의 출처와 편집 이력을 추적하는 개방형 기술 표준입니다.

ℹ️ C2PA의 핵심 개념
매니페스트: 콘텐츠에 대한 메타데이터와 어설션의 컨테이너
어설션: 콘텐츠에 대한 검증 가능한 주장
서명: 어설션을 암호화적으로 보호
하드 바인딩: 콘텐츠와 매니페스트의 불가분한 연결
신뢰 체인: 생성부터 현재까지의 완전한 이력

C2PA 아키텍처

C2PA는 계층화된 아키텍처를 사용합니다.

계층 구성요소 역할
자산 이미지, 비디오, 오디오, 문서 보호할 콘텐츠
매니페스트 메타데이터, 어설션, 서명 콘텐츠 이력 및 주장
매니페스트 스토어 매니페스트 컬렉션 편집 이력 관리
신뢰 앵커 인증서, 공개키 서명자 검증

C2PA SDK 설치 및 설정

C2PA JavaScript SDK를 사용하여 콘텐츠에 매니페스트를 추가합니다.

// C2PA SDK 설치
// npm install c2pa-node

import { createC2pa, SigningAlgorithm } from 'c2pa-node';
import { readFileSync, writeFileSync } from 'fs';

class C2PAManager {
    private c2pa: any;

    async initialize(): Promise {
        // C2PA 인스턴스 생성
        this.c2pa = createC2pa({
            // 사용자 에이전트 식별
            userAgent: 'WIA-AI-017/1.0'
        });

        console.log('✅ C2PA SDK 초기화 완료');
    }

    // 매니페스트 읽기
    async readManifest(filePath: string): Promise {
        const fileBuffer = readFileSync(filePath);

        const result = await this.c2pa.read({
            buffer: fileBuffer,
            mimeType: this.getMimeType(filePath)
        });

        if (result.manifestStore) {
            console.log('✅ 매니페스트 발견');
            return result.manifestStore;
        }

        console.log('⚠️ 매니페스트 없음');
        return null;
    }

    // MIME 타입 결정
    private getMimeType(filePath: string): string {
        const ext = filePath.split('.').pop()?.toLowerCase();
        const mimeTypes: Record = {
            'jpg': 'image/jpeg',
            'jpeg': 'image/jpeg',
            'png': 'image/png',
            'mp4': 'video/mp4',
            'mp3': 'audio/mpeg'
        };
        return mimeTypes[ext || ''] || 'application/octet-stream';
    }
}

// 사용 예제
const c2pa = new C2PAManager();
await c2pa.initialize();

const manifest = await c2pa.readManifest('photo.jpg');
if (manifest) {
    console.log('활성 매니페스트:', manifest.activeManifest);
}

매니페스트 생성 및 삽입

콘텐츠에 C2PA 매니페스트를 추가하여 출처와 편집 이력을 기록합니다.

// 매니페스트 생성 및 삽입
import { createC2pa } from 'c2pa-node';

class C2PAManifestCreator {
    // 매니페스트 정의 생성
    createManifestDefinition(
        assetInfo: {
            title: string;
            creator: string;
            aiGenerated: boolean;
            aiModel?: string;
        }
    ): any {
        const manifest = {
            // 클레임 생성자
            claim_generator: 'WIA-AI-017/1.0',

            // 제목
            title: assetInfo.title,

            // 어설션
            assertions: [
                // 크리에이티브 워크 어설션
                {
                    label: 'stds.schema-org.CreativeWork',
                    data: {
                        '@context': 'https://schema.org',
                        '@type': 'CreativeWork',
                        'author': [{
                            '@type': 'Person',
                            'name': assetInfo.creator
                        }]
                    }
                }
            ],

            // 재료 (부모 자산)
            ingredients: []
        };

        // AI 생성 어설션 추가
        if (assetInfo.aiGenerated) {
            manifest.assertions.push({
                label: 'c2pa.ai.generated',
                data: {
                    aiModel: assetInfo.aiModel || 'Unknown',
                    generatedAt: new Date().toISOString()
                }
            });
        }

        return manifest;
    }

    // 매니페스트를 자산에 삽입
    async embedManifest(
        inputPath: string,
        outputPath: string,
        manifestDef: any,
        signingKey: string,
        signingCert: string
    ): Promise {
        const c2pa = createC2pa();

        // 입력 파일 읽기
        const sourceBuffer = readFileSync(inputPath);

        // 서명 설정
        const signer = {
            algorithm: SigningAlgorithm.ES256,
            privateKey: readFileSync(signingKey),
            certificate: readFileSync(signingCert),
            timestampAuthority: {
                url: 'http://timestamp.digicert.com'
            }
        };

        // 매니페스트 삽입
        const result = await c2pa.sign({
            buffer: sourceBuffer,
            manifest: manifestDef,
            signer,
            options: {
                // 자산 하드 바인딩 생성
                reserve_size: 40960  // 40KB 예약
            }
        });

        // 서명된 자산 저장
        writeFileSync(outputPath, result.buffer);

        console.log('✅ C2PA 매니페스트 삽입 완료');
    }
}

// 사용 예제
const creator = new C2PAManifestCreator();

const manifestDef = creator.createManifestDefinition({
    title: 'AI로 생성한 풍경',
    creator: 'Jane Doe',
    aiGenerated: true,
    aiModel: 'DALL-E-3'
});

await creator.embedManifest(
    'original.jpg',
    'signed.jpg',
    manifestDef,
    'signing-key.pem',
    'signing-cert.pem'
);

어설션 타입

C2PA는 다양한 어설션 타입을 지원합니다.

// 일반적인 C2PA 어설션들
class C2PAAssertions {
    // 액션 어설션 (편집 작업)
    createActionAssertion(
        action: string,
        software: string,
        when: string
    ): any {
        return {
            label: 'c2pa.actions',
            data: {
                actions: [{
                    action,  // 'c2pa.edited', 'c2pa.filtered', etc.
                    softwareAgent: software,
                    when
                }]
            }
        };
    }

    // 데이터 해시 어설션
    createDataHashAssertion(
        hash: string,
        algorithm: string = 'sha256'
    ): any {
        return {
            label: 'c2pa.hash.data',
            data: {
                alg: algorithm,
                hash,
                name: 'jumbf manifest'
            }
        };
    }

    // 트레이닝 마이닝 어설션 (AI 훈련 동의)
    createTrainingMiningAssertion(
        allowed: boolean
    ): any {
        return {
            label: 'c2pa.training-mining',
            data: {
                entries: {
                    'c2pa.ai.training': allowed,
                    'c2pa.ai.inference': allowed,
                    'c2pa.data_mining': allowed
                }
            }
        };
    }

    // 위치 어설션
    createLocationAssertion(
        latitude: number,
        longitude: number
    ): any {
        return {
            label: 'stds.exif',
            data: {
                'exif:GPSLatitude': latitude,
                'exif:GPSLongitude': longitude
            }
        };
    }

    // 생성형 AI 어설션
    createGenerativeAIAssertion(
        modelName: string,
        version: string,
        prompt?: string
    ): any {
        return {
            label: 'c2pa.ai.generative',
            data: {
                model: modelName,
                version,
                prompt: prompt ? {
                    // 프롬프트는 해시로 저장 (개인정보 보호)
                    hash: 'sha256:' + prompt
                } : undefined
            }
        };
    }
}

// 사용 예제
const assertions = new C2PAAssertions();

// 편집 액션 추가
const editAssertion = assertions.createActionAssertion(
    'c2pa.color_adjustments',
    'Adobe Photoshop 2025',
    new Date().toISOString()
);

// AI 생성 표시
const aiAssertion = assertions.createGenerativeAIAssertion(
    'DALL-E-3',
    '1.0',
    'sha256_of_prompt'
);

// 훈련 동의 표시
const trainingAssertion = assertions.createTrainingMiningAssertion(false);

재료(Ingredients) 관리

부모 자산을 재료로 참조하여 편집 체인을 구축합니다.

// 재료 관리
class C2PAIngredientsManager {
    // 재료 추가 (부모 자산 참조)
    async addIngredient(
        parentAssetPath: string,
        relationship: 'parentOf' | 'componentOf'
    ): Promise {
        // 부모 자산의 매니페스트 읽기
        const c2pa = createC2pa();
        const parentBuffer = readFileSync(parentAssetPath);

        const parentManifest = await c2pa.read({
            buffer: parentBuffer,
            mimeType: this.getMimeType(parentAssetPath)
        });

        // 재료 정의 생성
        const ingredient = {
            title: 'Parent Asset',
            relationship,

            // 부모 자산의 해시 포함
            hash: parentManifest?.activeManifest?.claim_generator_info?.name || '',

            // 부모 매니페스트 참조
            manifest_data: parentManifest?.activeManifest
        };

        return ingredient;
    }

    // 합성 매니페스트 생성 (여러 재료)
    async createCompositeManifest(
        ingredients: string[],
        outputInfo: any
    ): Promise {
        const manifestDef = {
            claim_generator: 'WIA-AI-017/1.0',
            title: outputInfo.title,

            assertions: [
                // 합성 액션
                {
                    label: 'c2pa.actions',
                    data: {
                        actions: [{
                            action: 'c2pa.composed',
                            softwareAgent: outputInfo.software,
                            when: new Date().toISOString()
                        }]
                    }
                }
            ],

            // 모든 재료 추가
            ingredients: await Promise.all(
                ingredients.map(path =>
                    this.addIngredient(path, 'componentOf')
                )
            )
        };

        return manifestDef;
    }

    private getMimeType(filePath: string): string {
        const ext = filePath.split('.').pop()?.toLowerCase();
        const mimeTypes: Record = {
            'jpg': 'image/jpeg',
            'jpeg': 'image/jpeg',
            'png': 'image/png'
        };
        return mimeTypes[ext || ''] || 'image/jpeg';
    }
}

// 사용 예제
const ingredientsManager = new C2PAIngredientsManager();

// 여러 이미지를 합성한 경우
const compositeManifest = await ingredientsManager.createCompositeManifest(
    ['photo1.jpg', 'photo2.jpg', 'background.jpg'],
    {
        title: '합성 이미지',
        software: 'Adobe Photoshop 2025'
    }
);

매니페스트 검증

C2PA 매니페스트의 무결성과 신뢰 체인을 검증합니다.

// 매니페스트 검증
class C2PAValidator {
    async validate(filePath: string): Promise<{
        valid: boolean;
        errors: string[];
        warnings: string[];
        details: any;
    }> {
        const c2pa = createC2pa();
        const fileBuffer = readFileSync(filePath);

        const result = await c2pa.read({
            buffer: fileBuffer,
            mimeType: this.getMimeType(filePath)
        });

        const errors: string[] = [];
        const warnings: string[] = [];

        if (!result.manifestStore) {
            errors.push('매니페스트 없음');
            return { valid: false, errors, warnings, details: null };
        }

        const manifest = result.manifestStore.activeManifest;

        // 1. 서명 검증
        if (manifest.signature_info) {
            const sigValid = await this.verifySignature(
                manifest.signature_info
            );
            if (!sigValid) {
                errors.push('서명 검증 실패');
            }
        } else {
            errors.push('서명 없음');
        }

        // 2. 해시 무결성 검증
        const hashValid = await this.verifyAssetHash(
            fileBuffer,
            manifest
        );
        if (!hashValid) {
            errors.push('자산 해시 불일치 - 변조 가능성');
        }

        // 3. 타임스탬프 검증
        if (manifest.signature_info?.time) {
            const time = new Date(manifest.signature_info.time);
            if (time > new Date()) {
                errors.push('미래 타임스탬프 - 의심스러움');
            }
        }

        // 4. 인증서 체인 검증
        if (manifest.signature_info?.cert_chain) {
            const certValid = await this.verifyCertChain(
                manifest.signature_info.cert_chain
            );
            if (!certValid) {
                errors.push('인증서 체인 검증 실패');
            }
        }

        // 5. 재료 검증
        if (manifest.ingredients) {
            for (const ingredient of manifest.ingredients) {
                // 각 재료의 매니페스트도 검증
                // (재귀적 검증)
            }
        }

        return {
            valid: errors.length === 0,
            errors,
            warnings,
            details: {
                claimGenerator: manifest.claim_generator,
                signatureInfo: manifest.signature_info,
                assertionCount: manifest.assertions?.length || 0
            }
        };
    }

    private async verifySignature(signatureInfo: any): Promise {
        // 실제 구현에서는 암호화 라이브러리 사용
        // 서명을 공개키로 검증
        return true;  // 간소화
    }

    private async verifyAssetHash(
        buffer: Buffer,
        manifest: any
    ): Promise {
        // 자산의 실제 해시 계산
        const crypto = await import('crypto');
        const hash = crypto.createHash('sha256');
        hash.update(buffer);
        const actualHash = hash.digest('hex');

        // 매니페스트의 해시와 비교
        // (실제로는 더 복잡한 하드 바인딩 검증)
        return true;  // 간소화
    }

    private async verifyCertChain(certChain: any[]): Promise {
        // 인증서 체인 검증
        // 1. 각 인증서가 상위 인증서로 서명되었는지 확인
        // 2. 루트 CA가 신뢰할 수 있는지 확인
        // 3. 인증서가 유효 기간 내인지 확인
        return true;  // 간소화
    }

    private getMimeType(filePath: string): string {
        const ext = filePath.split('.').pop()?.toLowerCase();
        const mimeTypes: Record = {
            'jpg': 'image/jpeg',
            'jpeg': 'image/jpeg',
            'png': 'image/png'
        };
        return mimeTypes[ext || ''] || 'image/jpeg';
    }
}

// 사용 예제
const validator = new C2PAValidator();
const validation = await validator.validate('signed.jpg');

if (validation.valid) {
    console.log('✅ 매니페스트 유효');
} else {
    console.log('❌ 매니페스트 무효');
    console.log('오류:', validation.errors);
}

WIA-AI-017과 C2PA 통합

WIA-AI-017 표준을 C2PA 매니페스트에 통합합니다.

// WIA-AI-017 확장 어설션
class WIAC2PAIntegration {
    // WIA-AI-017 커스텀 어설션 생성
    createWIAAssertion(
        wiaRecord: any
    ): any {
        return {
            label: 'wia.ai.content-auth',
            data: {
                standardVersion: 'WIA-AI-017-v1.0',

                // 지문 정보
                fingerprints: wiaRecord.fingerprints,

                // 워터마크 정보
                watermarks: wiaRecord.watermarks,

                // 딥페이크 검출 결과
                deepfakeDetection: wiaRecord.deepfakeDetection,

                // WIA 출처 체인 URI
                provenanceURI: wiaRecord.provenanceURI
            }
        };
    }

    // C2PA + WIA 통합 매니페스트 생성
    async createIntegratedManifest(
        assetInfo: any,
        wiaData: any
    ): Promise {
        const manifest = {
            claim_generator: 'WIA-AI-017/1.0',
            title: assetInfo.title,

            assertions: [
                // 표준 C2PA 어설션들
                {
                    label: 'stds.schema-org.CreativeWork',
                    data: {
                        '@context': 'https://schema.org',
                        '@type': 'CreativeWork',
                        'author': [{
                            '@type': 'Person',
                            'name': assetInfo.creator
                        }]
                    }
                },

                // WIA 확장 어설션
                this.createWIAAssertion(wiaData)
            ],

            ingredients: []
        };

        return manifest;
    }
}

// 사용 예제
const integration = new WIAC2PAIntegration();

const wiaData = {
    fingerprints: [
        { algorithm: 'pHash', hash: 'abc123...', confidence: 0.95 }
    ],
    watermarks: [
        { algorithm: 'DCT', strength: 15, payload: 'WIA-AI-017' }
    ],
    deepfakeDetection: {
        isDeepfake: false,
        confidence: 0.98,
        methods: ['CNN', 'GAN-Fingerprint']
    },
    provenanceURI: 'ipfs://QmXxx...'
};

const integratedManifest = await integration.createIntegratedManifest(
    { title: 'My Photo', creator: 'Jane Doe' },
    wiaData
);

크로스 플랫폼 호환성

C2PA 매니페스트는 다양한 플랫폼과 도구에서 인식됩니다.

플랫폼/도구 C2PA 지원 기능
Adobe Photoshop ✅ 완전 생성, 편집, 검증
Content Credentials ✅ 완전 브라우저 검증
Microsoft Designer ✅ 완전 AI 생성 표시
Leica 카메라 ✅ 하드웨어 촬영 시 생성
BBC News ✅ 뉴스 진위성 검증
✅ C2PA 모범 사례
• 모든 콘텐츠에 매니페스트 추가
• 편집마다 새 매니페스트 생성
• 신뢰할 수 있는 CA의 인증서 사용
• 타임스탬프 서비스 활용
• 재료로 부모 자산 참조
• 정기적인 매니페스트 검증

📌 요약

📝 복습 문제

  1. C2PA의 주요 목적은 무엇입니까?
  2. 매니페스트와 어설션의 차이를 설명하십시오.
  3. 하드 바인딩이란 무엇이며 왜 중요합니까?
  4. 재료(Ingredients)를 사용하는 이유는 무엇입니까?
  5. C2PA 매니페스트를 검증할 때 확인하는 항목은 무엇입니까?
  6. WIA-AI-017을 C2PA와 통합하는 방법을 설명하십시오.
  7. C2PA를 지원하는 주요 플랫폼과 도구를 나열하십시오.
  8. C2PA 사용 시 모범 사례는 무엇입니까?

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

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

한국 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+개 한국 표준화 관련 법령이 운영된다.