하드웨어 지문
- 머신 GUID · 프로세서 · 메인보드 · BIOS 식별자 조합
- 제조사 기본 문자열 같은 무의미한 값 자동 제외
- SHA-256 해시로 고정 길이 문자열 생성
- 8자리 단위 구분 표기로 전달 오류 방지
라이선스 바인딩 보호 모듈
납품한 프로그램이 설치 폴더 통째로 복사돼 다른 곳에서 돌아가는 상황을 막습니다. 실행 PC의 하드웨어 지문과 전자서명된 라이선스를 대조해, 발급받은 장비에서만 프로그램이 열립니다. 시작 코드 한 줄이면 기존 프로그램에도 그대로 적용됩니다.
MG 머신 GUID 수집됨 CPU 프로세서 식별자 수집됨 BB 메인보드 시리얼 수집됨 BIOS BIOS 시리얼 공백 — 제외 ──────────────────────────────── SHA-256 7F3A91C2-4D08B65E-…-9C22A104
※ 화면은 실제 구동 화면을 재구성한 예시이며, 표시된 값은 샘플입니다.
01 — HOW IT WORKS
공급자는 개인키로 서명만 하고, 프로그램에는 공개키만 들어갑니다. 배포본을 뜯어봐도 라이선스를 새로 만들 수 없습니다.
제품마다 전용 키페어를 만듭니다. 한 제품의 개인키가 유출돼도 다른 제품은 영향을 받지 않습니다.
시작 지점에 검증 호출 한 줄을 넣고 공개키를 상수로 넣습니다. 기존 코드 구조는 그대로 둡니다.
라이선스가 없으면 인증 창이 뜨고, 사용자는 [지문 복사] 버튼으로 자기 PC의 지문 문자열을 전달합니다.
공급자가 발급 도구에 제품과 지문, 사용자명, 만료일을 넣고 개인키로 서명합니다. 결과는 작은 텍스트 파일 하나입니다.
사용자가 인증 창에서 받은 파일을 불러오면 지정된 위치로 복사되고 즉시 검증이 다시 돕니다.
이후 실행할 때마다 서명 · 제품 · 지문 · 만료일을 확인합니다. 하나라도 어긋나면 상태 코드와 함께 실행을 막습니다.
02 — FEATURES
03 — SCREENS
사용자에게 필요한 조작은 [지문 복사]와 [라이선스 등록] 두 개뿐입니다.
라이선스가 없거나 무효일 때만 뜹니다. 지문을 복사해 전달하고, 받은 파일을 등록합니다.
제품을 고르고 지문을 붙여넣으면 서명된 라이선스 파일이 만들어집니다.
실패 원인이 구분되어 있어 문의 응대에 그대로 쓸 수 있습니다.
시작 지점에 게이트를 넣는 것으로 통합이 끝납니다.
# 1) 제품 설정 — 공개키만 내장 opt = LicenseOptions( product_name = "MyApp", public_key_xml = "<RSAKeyValue>…</RSAKeyValue>", ) # 2) 시작 지점에 게이트 한 줄 if not activation.ensure(opt): raise SystemExit(0) # ---- 여기서부터 실제 프로그램 ----
04 — ARCHITECTURE
외부 패키지를 끌어오지 않습니다. 검증 로직과 인증 창만 프로젝트에 넣으면 동작합니다.
이 모듈은 설치 폴더를 복사해 다른 PC에서 실행하는 형태의 무단 사용을 확실히 차단합니다. 다만 소프트웨어 단독 보호가 완전무결할 수는 없습니다. 숙련된 공격자가 바이너리를 역공학·패치하면 우회가 가능하며, 이는 모든 소프트웨어 라이선싱에 공통된 한계입니다.
더 강한 보호가 필요하면 코드 난독화, 무결성 검사, USB 동글, 온라인 인증을 함께 검토합니다. 제품별 키 관리 정책과 발급 절차, 인증 창 문구는 운영 방식에 맞춰 구성해 납품합니다.
05 — USE CASES
장비와 함께 납품한 전용 프로그램이 계약된 장비에서만 실행되게 묶습니다.
내부용으로 만든 도구가 외부로 흘러나가도 실행되지 않도록 최소한의 방어선을 둡니다.
만료일이 들어간 라이선스로 기간 제한 평가판을 별도 빌드 없이 운영합니다.
제품마다 키페어를 분리해, 한 제품의 유출이 전체로 번지지 않게 합니다.