KR102229879B1 - 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법 - Google Patents

소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법 Download PDF

Info

Publication number
KR102229879B1
KR102229879B1 KR1020190033715A KR20190033715A KR102229879B1 KR 102229879 B1 KR102229879 B1 KR 102229879B1 KR 1020190033715 A KR1020190033715 A KR 1020190033715A KR 20190033715 A KR20190033715 A KR 20190033715A KR 102229879 B1 KR102229879 B1 KR 102229879B1
Authority
KR
South Korea
Prior art keywords
source code
unit
terminal
encryption
test
Prior art date
Application number
KR1020190033715A
Other languages
English (en)
Other versions
KR20200113481A (ko
Inventor
김호영
김승환
Original Assignee
(주)블록체인글로벌
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)블록체인글로벌 filed Critical (주)블록체인글로벌
Priority to KR1020190033715A priority Critical patent/KR102229879B1/ko
Publication of KR20200113481A publication Critical patent/KR20200113481A/ko
Application granted granted Critical
Publication of KR102229879B1 publication Critical patent/KR102229879B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은, 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법에 관한 것이다.
본 발명은 다수의 단위소스코드(UC)들로 구성된 통합소스코드(IC)를 관리하기 위한 소스코드관리방법으로써, 다수의 단말(200)들 각각에서 작성된 상기 다수의 단위소스코드(UC)들을 수신하는 소스코드수신단계와; 상기 다수의 단위소스코드(UC)들을 암호화하여 다수의 암호화소스코드들을 생성하는 암호화소스코드생성단계와; 상기 통합소스코드(IC)에 대한 통합테스트를 수행하기 위하여 상기 통합테스트가 수행되는 단말(200)과 연관된 단위소스코드(UC)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 상기 통합테스트가 수행되는 단말(200)에 제공하는 암호화소스코드제공단계를 포함하는 것을 특징으로 하는 소스코드관리방법을 개시한다.

Description

소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법 {Source code managing method using block chain, server performing the same, and source code developing method using the same}
본 발명은, 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법에 관한 것이다.
기업체 웹 개발의 경우, 웹 개발의 업무 범위가 확대됨에 따라 많은 개발 인력의 투입이 필요한 매우 복잡한 개발환경이 요구된다.
따라서 기업의 내부 인력만으로는 적절한 웹 개발이 불가능 경우가 많아 복수의 개발업체나 프리랜서 등의 외부인력을 고용하는 경우가 빈번히 발생할 수 있다.
그런데, 기업체 외부인력의 경우 기업체 내부인력과 달리 전적으로 신뢰할 수 없는 경우가 많고, 다수의 개발자가 하나의 웹사이트를 개발 및 운영하는 경우 소스에 대한 보안측면의 접근 권한 문제가 심각하게 대두되고 있다.
이에 대한 해결방안으로써, 현재의 보안대책은 대부분 보안의 취약점을 무릅쓰고 전체 소스를 전 개발자에게 오픈 하거나, 아니면 개발자 별로 자신의 소스에 대한 접근권한만을 부여하는 All or Nothing 정책을 적용하고 있다.
전자의 경우 소스 유출을 막기 위한 많은 보안솔루션을 도입하여 운용하지만 일단 노출된 소스에 대해서는 물리적인 유출 이외에도 수 많은 유출경로가 존재하여 이를 모두 막는 것은 불가능한 문제점이 있다.
마찬가지로, 후자의 경우 자신의 소스에만 접근 권한을 가지므로, 전체 웹 개발 측면에서 정상적인 개발 및 유지 보수를 수행할 수 없는 문제점이 있다.
즉, 특정 개발자가 개발한 소스는 단독으로 테스트될 수 있는 경우가 매우 희박하며 다른 전체 개발소스와 통합되어 테스트되어야 하지만, 후자의 경우 이러한 테스트를 수행할 방법이 없거나 극히 제한적인 것입니다.
따라서 현재의 개발환경의 경우, 서로 완벽하게 신뢰할 수 없는 복수의 조직이 하나의 사이트를 개발함에 있어 보안과 관련한 위험에 노출되거나 아니면 개발생산성이 극도로 낮아짐을 감수해야 하는 문제점을 가지고 있는 것입니다.
이에, 소스코드 개발에 있어 보안의 문제를 최소화 함은 물론 개발 및 운영의 생산성도 보장할 수 있는 기술이 요구된다.
본 발명의 목적은 상기와 같은 문제점을 인식하여, 다수의 개발인력이 투입되어 소스코드를 개발하는 작업환경에 있어서, 소스코드 유출에 대한 보안 문제를 최소화 함은 물론 개발 및 운영의 생산성도 보장할 수 있는 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법을 제공하는데 있다.
본 발명은, 다수의 단말(200)들을 이용해 다수의 단위소스코드(UC)들로 구성된 통합소스코드(IC)를 개발하기 위한 소스코드개발방법으로서, 각 단말(200)에서 읽기권한 및 쓰기권한을 포함하는 접근권한이 부여된 단위소스코드(UC)에 대한 단위테스트를 수행하는 단위테스트수행단계와; 상기 접근권한이 부여된 단위소스코드(UC)와 상기 접근권한이 부여된 단위소스코드(US)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 결합하여 통합테스트를 수행하는 통합테스트수행단계를 포함하는 것을 특징으로 하는 소스코드개발방법을 개시한다.
삭제
삭제
삭제
삭제
삭제
삭제
상기 소스코드개발방법은, 상기 통합테스트수행단계 전에, 상기 암호화소스코드를 복호화하여 복호화소스코드를 생성하는 소스코드복호화단계를 추가로 포함할 수 있다.
상기 소스코드개발방법은, 상기 단말(200)에서의 상기 복호화소스코드에 대한 접근권한을 제한할 수 있다.
상기 소스코드개발방법은, 상기 각 단말(200)에서 상기 접근권한이 부여된 단위소스코드(UC)에 대한 디버깅을 수행하는 디버깅단계를 추가로 포함할 수 있다.
삭제
본 발명에 따른 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법은, 다수의 개발인력이 투입되어 소스코드를 개발하는 작업환경에 있어서, 소스코드 유출에 대한 보안 문제를 최소화할 수 있는 이점이 있다.
구체적으로, 본 발명은 각 단말에 각 단말에서 작성된 단위소스코드에만 접근권한을 부여하고, 전체 통합소스코드에 대한 통합테스트가 필요한 경우, 다른 단말에서 작성된 단위소스코드를 암호화 하여 테스트 및 디버깅 용도로 사용 가능하게 함으로써, 소스코드의 보안과 소스코드의 생산성을 모두 충족시킬 수 있는 이점이 있다.
도 1은, 본 발명의 일 실시예에 따른 소스코드관리 및 개발 시스템을 보여주는 개념도이다.
도 2는, 도 1의 소스코드관리 및 개발 시스템에서 수행되는 소스코드관리방법 및 소스코드개발방법을 설명하는 개념도이다.
도 3은, 도 1의 소스코드관리 및 개발 시스템의 소스코드관리서버를 설명하는 블록도이다.
도 4는, 도 1의 소스코드관리 및 개발 시스템에서 수행되는 소스코드개발방법을 수행하는 단말을 설명하는 블록도이다.
도 5는, 도 1의 소스코드관리 및 개발 시스템에서 수행되는 소스코드개발방법을 설명하는 순서도이다.
이하 본 발명에 따른 소스코드관리 및 개발 시스템에 관하여 첨부된 도면을 참조하여 설명하면 다음과 같다.
본 발명에 따른 소스코드관리 및 개발 시스템은, 도 1 내지 도 5에 도시된 바와 같이, 다수의 단위소스코드(UC)들로 구성된 통합소스코드(IC)를 관리하기 위한 소스코드관리서버(100)와, 소스코드관리서버(100)와 네트워크를 통해 연결되는 다수의 단말(200)들을 포함한다.
상기 소스코드관리서버(100)는, 다수의 단위소스코드(UC)들로 구성된 통합소스코드(IC)를 관리하기 위한 서버로서, 프로세서, 메모리, 저장장치, 네트워크인터페이스, 사용자 인터페이스 입력 장치 및 사용자 인터페이스 출력 장치를 포함할 수 있다.
여기서, 상기 통합소스코드(IC)는, 웹페이지와 같은 소프트웨어을 위한 원시코드로서 대상이 되는 소프트웨어의 기본단위가 되는 다수의 모듈들 각각에 대한 다수의 단위소스코드(UC)들로 구성될 수 있다.
즉, 상기 단위소스코드(UC)는 소프트웨어를 구성하는 단위모듈에 대한 소스코드를 의미할 수 있고, 도 2에 도시된 바와 같이, 다수의 단위소스코드(제1단위소스코드(UC1), 제2단위소스코드(UC2), ??, 제N단위소스코드(UCN))가 결합되어 전체 통합소스코드(IC)를 구성할 수 있다.
상기 프로세서는, 소스코드관리를 위한 프로그램 실행기 및 메모리관리자를 포함할 수 있다.
상기 메모리관리자는 실행기에 의하여 읽히거나 또는 기록되는 메모리에 있는 메모리영역들을 관리할 수 있다.
상기 저장장치는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현될 수 있고, 소스코드관리서버(100)에 필요한 데이터를 저장하는데 사용될 수 있다.
상기 네트워크 인터페이스는 네트워크를 통해 단말(200)와 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network) 통신을 위한 어댑터를 포함할 수 있다.
상기 단말(200)은, 소스코드관리서버(100)와 연결된 컴퓨팅 장치에 해당하고, 예를 들어, 데스크톱, 노트북, 태블릿 PC 또는 스마트폰으로 구현될 수 있으며, 소스코드관리서버(100)와 네트워크 연결을 위한 네트워크 인터페이스(220) 및 사용자입출력을 위한 사용자입력/출력 인터페이스(230)를 포함할 수 있다.
예로서, 상기 단말(200)은 모바일 단말에 해당할 수 있고, 소스코드관리서버(100)와 셀룰러 통신 또는 와이파이 통신을 통해 연결될 수 있다.
다른 예로서, 상기 단말(200)는 데스크톱에 해당할 수 있고, 소스코드관리서버(100)와 인터넷을 통해 연결될 수 있다.
상기 단말(200)은, 소프트웨어 개발을 위한 통합개발환경(IDE, 210)을 포함할 수 있고, 통합개발환경(210)을 통해 대상이 되는 단위소스코드(UC)가 작성/수정/변경될 수 있다.
상기 소스코드관리서버(100)는, 다수의 단위소스코드(UC)들로 구성된 통합소스코드(IC)를 관리하기 위한 서버로서 다양한 구성이 가능하다.
이때, 상기 소스코드관리서버(100)는, 다수의 단말(200)들에 대하여 각 단말(200)에서 작성된 단위소스코드(UC)에 대해서만 접근권한을 부여할 수 있다.
여기서, 접근권한이란, 소스코드에 대한 읽기권한 및 쓰기권한을 포함할 수 있다.
즉, 상기 소스코드관리서버(100)는, 해당 단말(200)에서 작성되지 않은 단위소스코드(UC), 즉, 다른 단말(200)에서 작성된 단위소스코드(UC)에 대한 읽기 및 쓰기를 차단함으로써, 소스코드에 대한 보안성을 보장할 수 있다.
그런데, 이와 같이 각 단말(200)이 연관된 단위소스코드(UC)에만 접근 권한을 가지는 경우, 전체 소프트웨어 개발 측면에서 정상적인 개발 및 유지 보수를 수행할 수 없는 문제점이 있다.
이에 본 발명에 따른 소스코드관리서버(100)는, 다수의 단말(200)들 각각에서 작성된 다수의 단위소스코드(UC)들을 수신하는 소스코드수신부(110)와; 다수의 단위소스코드(UC)들을 암호화하여 다수의 암호화소스코드들을 생성하는 암호화소스코드생성부(120)와; 다수의 단말(200)들 중 적어도 하나의 단말(200)로부터 통합소스코드(IC)에 대한 통합테스트 요청을 수신하는 경우, 통합테스트를 요청한 단말(200)과 연관된 단위소스코드(UC)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 통합테스트를 요청한 단말(200)에 제공하는 암호화소스코드제공부(130)를 포함할 수 있다.
상기 소스코드수신부(110)는, 다수의 단말(200)들 각각에서 작성된 다수의 단위소스코드(UC)들을 수신하는 구성으로 다양한 구성이 가능하다.
상기 암호화소스코드생성부(120)는, 수신한 다수의 단위소스코드(UC)들을 암호화하여 다수의 암호화소스코드들을 생성하는 구성으로 다양한 구성이 가능하며, 다양한 기법이 적용될 수 있다.
여기서, 암호화란 원본 소스코드에 대한 읽기를 허용하지 않게 하기 위한 수단으로서, 그 용어에도 불구하고, 일반적인 소스코드암호화(encryption)나 난독화(obfuscation)를 모두 포함하는 개념으로 이해되어야 한다.
상기 암호화소스코드생성부(120)는, 원본이 되는 단위소스코드(UC)가 수신되면 자동으로 이를 암호화하여 복제함으로써 각 단위소스코드(UC) 암호화소스코드를 생성할 수 있다.
상기 암호화소스코드제공부(130)는, 통합소스코드(IC)에 대한 통합테스트를 수행하기 위하여 통합테스트가 수행되는 단말(200)과 연관된 단위소스코드(UC)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 통합테스트가 수행되는 단말(200)에 제공하는 구성으로 다양한 구성이 가능하다.
상기 암호화소스코드제공부(130)를 통해 제공되는 암호화소스코드는 연관된 단말(200)의 IDE(210)를 통해 소스코드개발에 활용될 수 있으나, 단말(200)을 통한 접근권한(읽기/쓰기)은 제한될 수 있다.
즉, 각 단말(200)은, 해당 단말(200)에서 작성된 단위소스코드(UC)를 제외하고는 암호화된 암호화소스코드만을 볼 수 있을 뿐이므로 다른 단위소스코드(UC)에 대한 읽기가 허용되지 않는다.
예로서, 상기 암호화소스코드제공부(130)는, 다수의 단말(200)들 중 어느 하나의 단말(200)로부터 통합소스코드(IC)에 대한 통합테스트요청을 수신하는 경우, 해당 단말(200)에 연관된 단위소스코드(UC)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 제공할 수 있다.
삭제
삭제
삭제
삭제
상술한 소스코드관리서버(100)에서 수행되는 소스코드관리방법은, 다수의 단위소스코드(UC)들로 구성된 통합소스코드(IC)를 관리하기 위한 소스코드관리방법으로써, 다수의 단말(200)들 각각에서 작성된 상기 다수의 단위소스코드(UC)들을 수신하는 소스코드수신단계와; 상기 다수의 단위소스코드(UC)들을 암호화하여 다수의 암호화소스코드들을 생성하는 암호화소스코드생성단계와; 상기 통합소스코드(IC)에 대한 통합테스트를 수행하기 위하여 상기 통합테스트가 수행되는 단말(200)과 연관된 단위소스코드(UC)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 상기 통합테스트가 수행되는 단말(200)에 제공하는 암호화소스코드제공단계를 포함한다.
상기 소스코드수신단계는, 다수의 단말(200)들 각각에서 작성된 다수의 단위소스코드(UC)들을 수신할 수 있고, 다수의 단위소스코드(UC)들을 통합하여 통합소스코드(IC)가 생성될 수 있다.
상기 암호화소스코드생성단계는, 다수의 단위소스코드(UC)들을 암호화하여 다수의 암호화소스코드들을 생성하는 단계로서, 각 원본 단위소스코드(UC)들을 복제하고 암호화/난독화 하여 암호화소스코드를 생성할 수 있다.
상기 암호화소스코드제공단계는, 통합소스코드(IC)에 대한 통합테스트를 수행하기 위하여 통합테스트가 수행되는 단말(200)과 연관된 단위소스코드(UC)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 통합테스트가 수행되는 단말(200)에 제공하는 단계로서, 해당 단말(200)을 통한 통합테스트 요청 수신 시 수행될 수 있으나 이에 한정되는 것은 아니다.
상기 소스코드관리방법은, 다수의 단말(200)들에 대하여 각 단말(200)에서 작성된 단위소스코드(UC)에 대해서만 접근권한을 부여할 수 있는데, 이는 각 단말(200)에 대해 해당 단말(200)에서 작성되지 않은 단위소스코드(UC)들에 대한 읽기를 허용하지 않게 하기 위함이다.
구체적으로, 도 2를 참조하면, 제1단말(200)은 제1단말(200)에서 작성된 제1단위소스코드(UC1)에만 접근권한을 가지며, 제2단말(200)은 제2단말(200)에서 작성된 제2단위소스코드(UC2)에만 접근권한을 가지고, 마찬가지로, 제N단말(200)은 제N단말(200)에서 작성된 제N단위소스코드(UCN)에만 접근권한을 가진다. 참고로, 도 2의 실선은 접근권한이 있음을 점선은 접근권한이 없음을 의미하는 심볼로써 활용되었다.
여기서, 제1단위소스코드(UC1), 제2단위소스코드(UC2), ??, 제N단위소스코드(UCN)이 통합되어 통합소소코드(IC)가 구성될 수 있다.
제1단말(200)은, 제1단위소스코드(UC1)을 제외한 나머지 단위소스코드(UC2, ??, UCN)에 대해 읽기권한이 없으며 단지 나머지 단위소스코드(UC2, ??, UCN)에 대한 암호화소스코드만을 제공받을 수 있다.
마찬가지로, 제2단말(200)은, 제2단위소스코드(UC2)을 제외한 나머지 단위소스코드(UC1, ??, UCN)에 대해 읽기권한이 없으며 단지 나머지 단위소스코드(UC1, ??, UCN)에 대한 암호화소스코드만을 제공받을 수 있다.
한편, 상술한 소스코드관리서버(100) 및 다수의 단말(200)들을 포함하는 소스코드관리시스템을 이용한 소스코드개발방법은, 다수의 단말(200)들을 이용해 다수의 단위소스코드(UC)들로 구성된 통합소스코드(IC)를 개발하기 위한 소스코드개발방법으로서, 각 단말(200)에서 읽기권한 및 쓰기권한을 포함하는 접근권한이 부여된 단위소스코드(UC)에 대한 단위테스트를 수행하는 단위테스트수행단계와; 접근권한이 부여된 단위소스코드(UC)와 접근권한이 부여된 단위소스코드(UC)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 결합하여 통합테스트를 수행하는 통합테스트수행단계를 포함할 수 있다.
삭제
상기 단위테스트수행단계는 단위소스코드(UC)에 대한 테스트단계로서, 여기서, 접근권한이 부여된 단위소스코드(UC)란 해당 단말(200)에서 작성된 단위소스코드(UC)를 의미한다.
각 단말(200)을 통해 대응되는 단위소스코드(UC)가 작성(S501)될 수 있으며, 작성된 단위소스코드(UC)에 대한 단위테스트가 수행(S502)될 수 있다.
상기 소스코드개발방법은, 단위테스트 결과 오류가 발생하는지 여부를 체크할 수 있다 (S503).
이때, 상기 소스코드개발방법은, 단위테스트 결과 오류가 발생하는 경우, 각 단말(200)에서 접근권한이 부여된 단위소스코드(UC)에 대한 디버깅을 수행하는 디버깅단계(S506)를 추가로 포함할 수 있다.
상기 통합테스트수행단계(S504)는, 접근권한이 부여된 단위소스코드(UC)와 접근권한이 부여된 단위소스코드(UC)를 제외한 나머지 단위소스코드(UC)에 대한 암호화소스코드를 결합하여 통합테스트를 수행하는 단계로서, 단위테스트 수행단계에서 오류가 발생하지 않는 경우 수행될 수 있다.
한편, 상기 소스코드개발방법은, 통합테스트수행단계 전에, 암호화소스코드를 복호화하여 복호화소스코드를 생성하는 소스코드복호화단계를 추가로 포함할 수 있다.
이때, 상기 소스코드개발방법은, 단말(200)에서의 상기 복호화소스코드에 대한 접근권한을 제한할 수 있다.
상기 복호화소스코드는, 통합테스트를 수행하기 위해 암호화소스코드가 복호화된 것으로써 단말(200)을 통한 접근은 제한된 상태로 통합테스트 수행 및 디버깅 수행 시에 활용될 수 있다.
상기 통합테스트는, 해당 단말(200)에서 작성되어 접근권한을 가지는 단위소스코드(UC)와 해당 단말(200)에서 작성되지 않아 접근권한을 가지지 않는 나머지 단위소스코드(UC)의 암호화소스코드(암호화소스코드가 복호화된 복호화소스코드)가 결합되어 수행되는 테스트로서, 해당 단말(200)을 통해 암호화소스코드의 원본 단위소스코드(UC)에 접근할 수는 없지만, 제약조건이 최소화된 상태로 통합테스트는 가능해지며 그에 따라 소스코드 유출을 방지하면서도 소스코드 개발 및 운영의 생산성이 증대될 수 있다.
상기 소스코드개발방법은, 통합테스트 결과 오류가 발생하는지 여부를 체크할 수 있다 (S505).
이때, 상기 소스코드개발방법은, 통합테스트 결과 오류가 발생하는 경우, 상술한 디버깅단계(S506)를 다시 수행할 수 있다.
이때, 상기 소스코드개발방법은, 통합테스트 결과 오류가 발생하지 않는 경우, 단위소스코드(UC) 작성을 완료(S507)할 수 있다.
즉, 본 발명은 각 단말(200)을 통해 전체 통합소스코드(IC)에 대한 통합테스트가 필요한 경우, 다른 단말(200)에서 작성된 단위소스코드(UC)를 암호화 하여 테스트 및 디버깅 용도로 사용 가능하게 함으로써, 소스코드의 보안과 소스코드의 생산성을 모두 충족시킬 수 있는 이점이 있다.
상술한 소스코드개발방법은, 도 4에 도시된 바와 같이, 각 단말(200)에서 수행될 수 있다.
즉, 각 단말(200)은 컴파일러, 텍스트 편집기, 디버거를 포함하여 단위소스코드(UC) 개발을 위한 환경을 구성할 수 있다.
상기 컴파일러, 텍스트 편집기, 및 디버거는 도 2에 도시된 바와 같이, 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 통합개발환경(IDE, 210)를 통해 구현될 수 있다.
예로서, 상기 통합개발환경(IDE, 210)은, 소스코드관리서버(100)를 통해 수신한 암호화소스코드를 복호화하기 위한 소스코드복호화부(212), 단위소스코드(UC)에 대한 단위테스트를 수행하기 위한 단위테스트부(214), 및 통합소스코드(IC)에 대한 통합테스트를 수행하기 위한 통합테스트부(216)을 포함할 수 있다.
상기 소스코드복호화부(212)는, 암호화소스코드에 대한 복호화를 수행하며 소스코드에 대한 디버깅은 허용하지만 소스코드 읽기는 허용하지 않을 수 있다.
삭제
이상은 본 발명에 의해 구현될 수 있는 바람직한 실시예의 일부에 관하여 설명한 것에 불과하므로, 주지된 바와 같이 본 발명의 범위는 위의 실시예에 한정되어 해석되어서는 안 될 것이며, 위에서 설명된 본 발명의 기술적 사상과 그 근본을 함께하는 기술적 사상은 모두 본 발명의 범위에 포함된다고 할 것이다.
100: 소스코드관리서버
200: 단말

Claims (11)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 웹 개발을 위하여 다수의 단말(200)들을 이용해 스크립트 기반의 다수의 단위소스코드(UC)들로 구성된 통합소스코드(IC)를 개발하기 위한 소스코드개발방법으로서,
    각 단말(200)에서 읽기권한 및 쓰기권한을 포함하는 접근권한이 부여된 단위소스코드(UC)에 대한 단위테스트를 수행하는 단위테스트수행단계와;
    상기 접근권한이 부여된 단위소스코드(UC)와 상기 접근권한이 부여된 단위소스코드(US)를 제외한 나머지 단위소스코드(UC)를 암호화한 암호화소스코드를 결합하여 통합테스트를 수행하는 통합테스트수행단계를 포함하며,
    상기 통합테스트수행단계 전에, 상기 암호화소스코드를 복호화하여 복호화소스코드를 생성하는 소스코드복호화단계를 추가로 포함하며,
    상기 단말(200)에서의 상기 복호화소스코드에 대한 접근권한을 제한하며,
    상기 통합테스트수행단계는 상기 단위테스트 수행 시 오류가 발생되지 않는 경우 수행되며,
    상기 각 단말(200)에서 상기 접근권한이 부여된 단위소스코드(UC)에 대한 디버깅을 수행하는 디버깅단계를 추가로 포함하며,
    상기 디버깅단계는, 상기 각 단말(200)에서 상기 복호화소스코드에 대한 읽기권한 및 쓰기권한을 포함하는 접근권한이 제한된 상태로, 상기 각 단말(200)에서 상기 접근권한이 부여된 단위소스코드(UC) 및 상기 복호화소스코드를 이용해 수행되며,
    상기 통합테스트수행단계는, 상기 각 단말(200)에서 상기 암호화소스코드를 이용해 수행되는 것을 특징으로 하는 소스코드개발방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
KR1020190033715A 2019-03-25 2019-03-25 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법 KR102229879B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190033715A KR102229879B1 (ko) 2019-03-25 2019-03-25 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190033715A KR102229879B1 (ko) 2019-03-25 2019-03-25 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법

Publications (2)

Publication Number Publication Date
KR20200113481A KR20200113481A (ko) 2020-10-07
KR102229879B1 true KR102229879B1 (ko) 2021-03-19

Family

ID=72884271

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190033715A KR102229879B1 (ko) 2019-03-25 2019-03-25 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법

Country Status (1)

Country Link
KR (1) KR102229879B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117061403A (zh) * 2023-10-10 2023-11-14 中铱数字科技有限公司 一种基于区块链BaaS的自动化测试方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118587A (ja) 2002-09-26 2004-04-15 Nec Corp プログラム開発方式および開発センター装置
KR101282024B1 (ko) * 2013-04-11 2013-07-04 주식회사 제이윈파트너스 협업 도구 자동화시스템
US20180260212A1 (en) * 2017-03-10 2018-09-13 Salesforce.Com, Inc. Blockchain version control systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118587A (ja) 2002-09-26 2004-04-15 Nec Corp プログラム開発方式および開発センター装置
KR101282024B1 (ko) * 2013-04-11 2013-07-04 주식회사 제이윈파트너스 협업 도구 자동화시스템
US20180260212A1 (en) * 2017-03-10 2018-09-13 Salesforce.Com, Inc. Blockchain version control systems

Also Published As

Publication number Publication date
KR20200113481A (ko) 2020-10-07

Similar Documents

Publication Publication Date Title
US10708051B2 (en) Controlled access to data in a sandboxed environment
CN102760219B (zh) 一种Android平台软件保护系统、方法及设备
Geneiatakis et al. A Permission verification approach for android mobile applications
CN102163268B (zh) 在执行期间验证软件代码的完整性的方法和设备
CN110383240B (zh) 用于容器化的安全计算资源的方法和装置
CN111190974B (zh) 可验证声明的转发、获取方法、装置及设备
CN111159053A (zh) 一种测试方法、装置及存储介质
Hussein Data migration need, strategy, challenges, methodology, categories, risks, uses with cloud computing, and improvements in its using with cloud using suggested proposed model (DMig 1)
US9003483B2 (en) Uniformly transforming the characteristics of a production environment
US10536276B2 (en) Associating identical fields encrypted with different keys
KR102229879B1 (ko) 소스코드관리방법, 이를 수행하는 소스코드관리서버, 및 이를 이용한 소스코드개발방법
US20240152630A1 (en) Security system and method for real-time encryption or decryption of data using key management server
WO2022068322A1 (en) Software access through heterogeneous encryption
CN110352411B (zh) 用于控制对安全计算资源的访问的方法和装置
US20230246845A1 (en) Secret Protection During Software Development Life Cycle
CN115238249A (zh) 应用程序代码混淆方法、装置、设备和介质
CN110737910B (zh) 一种Android log解密管理方法、装置、设备和介质
Delange et al. Design, implementation and verification of MILS systems
US6931634B2 (en) Encrypted compiler
US20200089896A1 (en) Encrypted log aggregation
US12001523B2 (en) Software access through heterogeneous encryption
US20180007017A1 (en) System and method for secure sharing of a source code
CN110795704A (zh) 一种应用程序的源代码混淆方法、装置及存储介质
CN109460640A (zh) 一种Java程序保护方法、装置、设备及可读存储介质
Shezan et al. CHKPLUG: Checking GDPR Compliance of WordPress Plugins via Cross-language Code Property Graph

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant