Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

밀정들 그리고 스파이들과 싸울 수 있는 시간은 34 밀리초이다.어떻게 이길 것인가?


Recommended Posts

이안 바커 (Ian Barker)"https://blogs.embarcadero.com/building-hybrid-enterprise-applications-for-data-protection-when-using-rad-studio/" 을 번역했습니다. (원문 작성: 2023년 1월, 최종 번역: 2024년 2월)

오늘 소개할 기업용 애플리케이션 경연 대회 기고는 불가리아의 Gatelink Ltd에서 근무하는 Georgi T. Gerasimov 씨가 보내온 것이다. Georgi는 윈도우 앱 개발 요청을 받고 나서 당면했던 어려움들을 매우 상세하게 적어 놓았다. 디지털 데이터를 안전하게 보호하는 것이었는데, 그 제약 사항 중 하나는 34 밀리초 이내에 암호화 작업이 수행되어야 하는 것이었다. 개발 요구사항 중에 "디지털 데이터의 포스트-퀀텀 보호"라는 문구가 포함되어 있다면, 그것을 코딩하는 임무는 어려울 것이라는 것을 여러분은 짐작할 수 있을 것이다.

차례


문제 정의(Staging of the problem)

2022년, 우리 회사는 의뢰를 하나 받았다. 디지털 데이터 보호하기 위한 기업용 비즈니스 애플리케이션을 설계하고 개발하는 일이었다. 그 프로젝트는 예산과 개발 시간 둘 다 매우 제한되어 있었다. 

고객의 요구사항은 기존 문제들에 대해 신중하게 수행된 분석을 바탕으로 구성되어 있었다. 그래서 유연하고, 복합적이고, 실제로 효과가 있는 해결책들이 필요했다. 시작할 때 우리가 당면한 큰 문제가 있었다. 바로 그 초기 요구사항들은 매우 중요한 정보(critical information)를 보호하는 표준 규약들과 상충된다는 점이었다.

주어진 제약 사항들에는 되돌릴 수 없는 아래의 요구사항들이 들어 있었다: 

  • 매우 중요한 정보(critical information)를 포함하는 파일을 휴대용 장비 등 외부 장비에 저장하는 것이 허용된다.
  • 그 정보는 허가 받지 않은 접근으로부터 반드시 보호되어야 한다. 허가 받지 않은 자라면 접근할 수 없어야 한다. 비록 그가 최종 사용자들이나 직원들 중에 마스터 관리자 시스템 접근 특권을 가진 자들이 사용하는 사용자 비밀번호와 비밀 키에 접근한다고 할 지라도 말이다.
  • 데이터베이스로 가는 각 보안 트랜잭션은 34 밀리초 안에 처리되어야 한다. 

그 프로젝트의 구현 마감일은 고객과 계약을 체결한 날로부터 90일이었다. 그 기간 안에 그 솔루션들의 설계, 개발, 시스템 통합까지 모두 수행되어야 했다. 이 점을 고려하고 이 글을 읽었으면 한다.

신중하게 계획을 세운 결과, 세 가지 독립적인 애플리케이션들을 만들기로 결정했다. 다음과 같다:

  • 전문 시스템: 매우 중요한 정보가 들어있는 파일을 허가없이 접근할 수 없도록 보호한다.
  • 플랫폼에 구애받지 않는 애플리케이션: 메시지 전달 보안을 담당한다.
  • 하이브리드 애플리케이션: 데이터베이스 작업을 할 때  보안 트랜잭션 처리가 가능하도록 보안 환경을 제공한다.

이 기고는 위 솔루션들 중 첫 번째 솔루션 즉 매우 중요한 정보를 담고 있는 파일들을 보호하는 시스템에 대한 내용이다. 개발하면서 우리가 만났던 문제들과 그 해결책 찾기 위한 방식을 살펴본다.

개발 환경을 선택한 근거(Rationale)

우리가 개발 환경으로 RAD 스튜디오를 선택한 이유는 그저 우리가 예전에 사용한 경험이 있었기 때문만이 아니라, 이 도구가 입증하는 장점들 때문이다.

선택할 때 고려했던 중요한 요소 하나를 들자면, 직관적인 코드를 어셈블러로 작성된 모듈과 결합할 수 있는 능력이었다. 그 점은, 크로스 플랫폼 프로그래밍 가능성과 함께, RAD 스튜디오를 사용하는 개발자가 얻을 수 있는 가장 큰 장점들이기도 하다. 

우리의 최종 결정에 영향을 미친 또 다른 장점이 있었다. 품질이 좋은 컴포넌트들과 프로그램 라이브러리들이 제공되고, 기술 도움말이 제공되고, 테스트 수행, 리팩터링, 문서화를 할 수 있는 편리한 도구들이 제공된는 점이다. 그뿐만 아니라 델파이에서 개발한 애플리케이션이 가지는 탁월한 효율성과 높은 수준의 신뢰도 또한 영향을 미쳤다.

앞에서 언급했듯이, 고객이 설정한 요구 사항들은 지금까지 알려진 모든 보안 규약들의 한계를 넘어선 것들이었다.

이런 경우에는, 입증된 표준 암호화 솔루션들과 디지털 데이터에 대한 오브젝트-관계형 암호화로 알려진 방법들을 결합해야 했다. 이것은 극도로 어려운 도전이었다. 왜냐하면 상호 배타적인 두 가지 접근 방식을 통합해야 한다는 의미이기 때문이다.

대량의 정보 배열들을 보호하는 하이브리드 솔루션 개발과, RAD 스튜디오 그리고 특히 델파이가 제공하는 중요성과 장점들에 대한 이해를 돕기 위해, 아래 기고에서 다룬 주제를 설명하겠다: "정보 보호의 최신 유형(Contemporary forms of information protection)"이라는 글이다. 이 글은 오브젝트-관계형 암호화에서 퍼지 논리(fuzzy logic)를 사용하는 것과 관련이 있으며, 암호화 메커니즘을 생성하기 위해 제어 문자열을 사용한다.

오브젝트-관계형 암호화에 사용되는 기술 솔루션들이 서로 결합할 때는 다음 입력 데이터를 바탕으로 한다:

  • 처리되는 정보의 성격 (운영 측면에서 또는 전략 측면에서)
  • 데이터 저장 및 전송에 사용되는 장치 (전용 미디어 또는 컴퓨터 네트워크)
  • 사용되는 프로그래밍 언어

위에 나열된 각 지표는 기술 솔루션을 올바르게 선택하기 위해서 매우 중요하다. 오브젝트-관계형 암호화의 또 다른 특징은 정보가 언제나 일반적인 형태로 표현되는 건 아니라는 점이다.

퍼지 논리를 사용해 수치 정보를 표현하는 전형적인 예를 살펴보자.

예시:

아래에 있는 퍼지 집합(fuzzy set)을 생각해보자:

[0/1], [0.4/3], [0.6/4], [1/7]

이 경우, 숫자 7에 대한 표현을 이렇게 하고 있다. 그 숫자의 40%는 3이고, 60%는 4이다. 다른 숫자들은 모두 0% 이다.

만약 숫자 7의 정의를 이런 식으로 내린다면,  그 숫자와 이 집합 간 사이에 연결을 정의하는 건 쉬울 것이다. 하지만 아래 집합을 보자: 

[8/2], [0/1], [4/3], [0.2/2], [1/4], [0.8/5], [7/6], [1/7], [1/9]

이 경우에는 합리적인 의심이 생길 수 있다. 

그 이유는 빨간색으로 표시된 "기생 소자(parastic element)"가 있기 때문이다. 위의 예시에서는, 기생 소자들의 순서가 특정 논리를 따르고 있다. 하지만 실제 애플리케이션에서는 무작위로 분산된다. 이렇게 하고 나면, 그 후에 암호 분석이 굉장히 복잡해진다. 특수한 하드웨어나 소프트웨어 도구들의 도움을 받는다 하더라도 말이다.  또한, 위의 예시에서는, 정보의 노이즈가 유용한 정보보다 더 많다. 하지만, 이것이 필수 조건이라고 생각해서는 안된다.

첫 번째 집합에 "Seven"을 추가하고 변형하여 다음과 같은 일련의 기호를 만들어보자:

"Seven", [1,3,7], {<0/1>, <0.4/3>,<1/7>}

기록되는 문자열을 다음과 같이 정의할 수 있다:

uses 
  System.StrUtils,
  System.AnsiStrings;
 
...
 
protected
  { Protected declarations }
  MyFuzzySetObject: AnsiString; 
 
{ ... } 
 
MyFuzzySetObject:=  '"Seven", [1, 3, 7], {< 0/1 >, < 0.4/3 >, <1/7> }';
 
//  or --->
 
type
  MyFuzzySetObject = String; 
record 
  S: String; 
  ProtectedArray: Array [1..3] Of MyFuzzySetObject; 
end; 

두 번째 경우, AnsiString 타입인 변수들은 이 구조체 레코드의 요소로 포함될 수 없다. 이는 동적 배열에도 마찬가지이다.

따라서 MyFuzzySet 타입은 퍼지 논리를 사용하여 어떤 타입의 정보(오디오, 비디오, 텍스트, 바이너리, 등등)든 사용할 수 있다. 특정 조건 하에서 AnsiString 타입인 변수(또는 String 타입인 변수)에도 이 점은 똑같이 적용된다. 그러나 두 방식 모두 "전통적인" 방식이라고 정의할 수 있다.

동일한 정보를 다른 방식으로 표현하는 프로그램을 살펴보자. 

예시: 

이 경우, 델파이에 내장된 문자열 교체 함수를 사용하여 숫자 7을 퍼지 집합으로 작성한 것이다.

uses 
  System.StrUtils,
  System.AnsiStrings;
 
{ ... } 
 
protected 
  { Protected declarations }
  S1, S2, S3, S4: AnsiString; 
 
{ ... } 
 
  S1:= ' ”Seven”, .......................................... '; 
  S2:= '..........................................'; 
  S3:= '[1, 3, 7], {< 0/1 >, < 0.4/3 >, <1/7>}'; 
  S4:= AnsiReplaceStr (Str1, Str2, Str3); 

 결과: { S4 = “Seven”, [1, 3, 7], {< 0/1 >, < 0.4/3 >, <1/7> } } 

같은 결과를 다시 얻었다. 

위의 세 경우 모두, 정보의 특성 자체는 변화가 없다. 하지만 그 정의와 그에 따른 내부 처리는 완전히 다른 세 가지 방식으로 수행된다. 

위에서 제시된 예는 하이-테크 공격에 대한 방어 수단으로 사용되는 오브젝트-관계형 암호화의 몇 가지 원칙들을 보여준다.

객관적으로 말하면, 이런 로직은 제어 문자열을 사용하는 시스템 밖에서는 암호화-증명(crypto-proof)이라고 인정받지 못한다. 이 방식들이 기존에 입증된 암호화 프리미티브들과 결합되고, RAD 스튜디오에서 제공하는 기능들을 함께 사용했을 때, 디지털 데이터의 포스트-퀀텀 보호를 위한 매우 효과적인 도구를 광범위하게 구축할 수 있다.

실제 구현(Practical implementation)

우리의 방식과 표준 디지털 데이터 보호 솔루션들 사이의 근본적인 차이점을 이해하기 위해, RAD 스튜디오를 사용하여, 우리가 다양한 물리적 미디어에 있는 대용량 파일 배열을 효과적으로 암호화할 수 있는 애플리케이션을 매우 짧은 기간에 만들었던 방법을 자세히 살펴보자.

정의(Definition)

FPM(File Package Manager, 파일 패키지 관리자)는 로컬, 네트워크, 서버, 외부 데이터 미디어에 있는 파일과 폴더를 암호화하는 전문 애플리케이션이다.

이 애플리케이션은 다음과 같은 작업을 수행할 수 있다:

  • e-노트북 보안
  • 패키지 안에 있는 파일들을 암호화
  • 패키지 안에 있는 파일들을 해독
  • 암호화 프로세스 제어 보고
  • 파일 무결성 검사(FIM 제어)
  • 파일 변경 제어
  • 파일 및 디렉토리의 현재 상태 확인
  • 패키지에 저장된 파일 파쇄하거나, 불필요한 부분 삭제 등

파일의 암호화를 위해 패키지 안에는 메타-정보가 있다. 그리고 물리적 접근은 세션 암호화 메커니즘을 바탕으로 수행된다.

각 암호화(crypto) 메커니즘은 입증된 암호화(crypto) 프리미티브들의 집합을 사용한다. 암호화 프리미티브들의 구성은 자동이다. 필요한 경우, 보안 프로토콜을 하드웨어 종속적으로 만들 수도 있다. 그러면 보안이 크게 향상된다.

패키지에 저장된 파일과 폴더에 대한 모든 작업은 파일과 폴더에 물리적으로 접근할 수 있는 경우에만 수행된다. 접근할 수 없는 경우(삭제, 물리적으로 접근할 수 없는 네트워크 드라이브 또는 기타 이유), 이는 패킷에 반영되어 그 상황이 발생한 시간(실시간 제어, RTC)을 기록한다.

애플리케이션 개발에는 다음과 같은 비주얼 컴포넌트가 사용되었다:

  • DCPcrypt-master - 바탕이 되는 표준 암호화(crypto) 프리미티브들.  해시 알고리즘, 암호화(cipher) 알고리즘, 블록 연결 모드, HMAC, PBKDF1, PBKDF2 등을 지원한다
  • Delphi Encryption Compendium, DEC - 표준 암호화(crypto) 프리미티브들.  해시 알고리즘, 암호화(cipher) 알고리즘, 블록 연결 모드, 키 파생 알고리즘, CRC 등을 지원한다
  • FastReports - 암호화(crypto) 절차에 대한 리포트와 문서를 생성하는 데 사용된다. 생성된 결과를 HTML, PDF, RTF, DOC, XLS, XML 등의 다양한 형식으로 내보낼 수 있다
  • JAM Software - 윈도우 셸을 사용하는 작업과 파일 패키지 관리를 위한 직관적인 사용자 인터페이스를 구축하는 데 사용한다;
  • Konopka Signature VCL Controls - 직관적인 인터페이스 구축함으로써, 애플리케이션을 사용하는 방법을 최종 사용자들이 빠르게 익힐 수 있다

이런 컴포넌트들을 선택한 덕분에 우리는 개별 컴포넌트를 개발하는 데 드는 시간을 최소화할 수 있었다.

spacer.png

그림 1 그래픽 카드를 기반으로 제어 문자열을 생성하는 모듈

델파이 프로그래밍 언어가 가진 고유한 기능들은 개발 과정에 더욱 도움이 되었다.

델파이에서 바로 사용할 수 있는 기능과 도움말 문서 덕분에, 우리 팀은 그래픽 카드(특정 프로토콜을 따른 디지털 이미지)를 사용하여 제어 문자열을 생성하는 애플리케이션을 72 시간 이내에 만들 수 있었다.

델파이에서, 의사 프로퍼티(pseudo property)는 DFM 파일 형식 안에서 마치 직렬화된(serialized) published 프로퍼티처럼 보이지만 실제로는 완전히 다른 것이다.

예를 들어, 직렬화된 컴포지션(serialized composition)인 TImage – TPicture에서, TPicture 오브젝트는 Picture 프로퍼티를 통해 접근한다:

object ControlImage: TImage 
 
{. . .} 
 
   Picture.Data = {0A544A504547496D616765  . . .  E0FF000BFFD9} 
 
end;

TPicture는 TPersistent를 계승한다. 하지만, 그것의 public 프로퍼티 중에는 Data라는 것이 없다. 정보를 직렬화하려면 의사 프로퍼티(pseudo property)들을 활용해야 한다. 의사 프로퍼티들은 TPersistent 클래스의 protected 메서드 안에서 지정한다. (참고: protected 메서드는 재정의(redefinition)를 염두에 둔 메서드이다) 

이해해야 할 중요한 점은 제어 문자열들은 암호화 절차에서 사용되는 사용자 비밀번호 및 비밀 키와는 아무 관련이 없다는 것이다. 제어 문자열의 주요 목적은 기본 암호화(crypto) 메커니즘 세트를 형성하는 것이다. 결과적으로, 이 암호화 메커니즘은 비밀 키를 생성하는 역할이다. 그 비밀 키는 선택한 파일을 암호화하거나 해독하는 데 사용된다.

암호화 메커니즘은 공통의 기능적 메커니즘과 하나가 된 입증된 암호화 프리미티브들의 집합이다.  이 접근 방식을 사용한 덕분에, 우리는 대칭형 암호화의 단점을 피하면서도 그 장점들을 유지할 수 있었다.

대량의 정보를 포함하는 파일 패키지를 암호화하는 과정에 사용되는 세 가지 주요 모드는 다음과 같다:

  • SPM(Standard Protection Mode, 표준 보호 모드);
  • PPM(Package Protection Mode, 패키지 보호 모드);
  • HPM(Hybrid Protection Mode, 하이브리드 보호 모드)

spacer.png

SPM(표준 보호 모드)에서는, 파일 패키지 안에 정보가 저장되어 있는 모든 파일들을 암호화한다. 이때 미리 정의된 암호화 프리미티브들의 세트(암호화 메커니즘) 하나가 사용된다. 따라서, 각 파일에 대해 동일한 세션 비밀 키가 생성된다.

이 경우, 암호화 메커니즘 구성은 운영자가 수행한다. 그리고 파라미터들은 전용 모듈 안에서 지정된다. 이 경우, 전자 노트북 안에 기록된 정보 그리고 암호화 프리미티브들과 관련된 파일 패키지는 무시된다.

spacer.png

PPM(패키지 보호 모드)에서는, 파일 배치(file batch) 안에 정보가 저장된 파일들을 암호화한다. 이때 각 파일을 위한 배치(batch) 안에 적혀있는 암호화 프리미티브들을 사용하여 생성된 암호화 메커니즘이 사용된다.

즉, 개별 파일들 및/또는 파일 그룹들을 서로 다른 비밀 키로 암호화하는 것이 가능하다. 또한 서로 다른 암호화 프리미티브를 사용할 수도 있다.

SPM과 달리, PPM은 파일 패키지에 기록된 표준 암호화 프리미티브에 대한 정보를 기반으로 세션 암호화 메커니즘을 형성한다. 이 경우, Crypto 프리미티브의 관리 모듈 안에 들어있는 암호화 메커니즘 정보는 무시된다. 그렇다고 해서, 이 정보를 패킷 안에 기록하고 암호화 절차 안에서 사용하는 것이 가능하지 않다는 의미는 아니다. 그 선택은 사이버 보안 전문가에게 맡겨야 한다.

이 방법은 SPM보다 성능이 낮다. 하지만 암호화 프리미티브를 적절히 구성한다면, 보호 수준이 크게 향상된다.

spacer.png

HPM(하이브리드 보호 모드)에서는, 파일 패키지 안에 정보가 저장된 파일들을 암호화한다. 이때 변형된 암호화 메커니즘이 사용된다. 이 메커니즘은 각 파일에 대해 세션 암호화 메커니즘을 제공할 뿐만 아니라 비밀 키를 생성하는 절차도 관리한다.

이 방법은 오브젝트-관계형 암호화의 변형이다.  차이점은 숫자 오브젝트나 제어 문자열을 사용하는 대신 세션 비밀 키가 생성되는 방식을 선택할 수 있도록 함수를 사용한다는 점이다.

이 방법은 실제로 최고 수준의 보호를 보장하는 파일 패킷 암호화 방법이라고 가정할 수 있다. 주요 장점은 암호화 프리미티브를 선택하는 메커니즘을 사용자로부터 감출 수 있다는 것이다. 이 기능을 사용하면, 마스터 관리자 권한이 있는 사용자가 개입하는 경우에도, 사용된 메커니즘의 비밀 파라미터에 대한 접근을 차단할 수 있다. 

이 방법은 "내부자 공격"에 대응하기 위한 전문적인 보호 메커니즘의 요소로 사용된다.

이 방법은 기업용 솔루션들에 적합하다. 뿐만 아니라 민감한 정보를 다루는 기관에도 적합하다. 또한, 보안 파일 시스템의 운영 유지 관리 비용은 최소화된다.

구체적인 문제들(Specific problems)

개발 과정 중 우리 팀은 몇 가지 문제를 해결해야 했다. 그 해결 과정을 통해 우리의 기술적 실무 능력이 더욱 풍부 해졌다.

대부분의 문제들은 최종 사용자들이 애플리케이션과 상호 작용하는 방식 그리고 제공된 기능에 대한 사용자들의 반응과 관련된 것들이었다. 그 중 하나는 암호화되지 않은 파일을 사용자가 해독하려고 시도할 수 있다는 점이었다, 결과적으로 파일이 손상될 수 있기 때문이다.

이런 실수를 피하기 위해, 또 다른 비-표준 접근 방식을 선택했다. 그 방식은 암호화/해독을 하기 위한 최종 사용자 승인 판넬들을 시각적으로 눈에 띄게 만드는 것이었다. 이 결정은 언뜻 사소해 보일 수 있지만, 운영 과정에서 그 중요성이 증명되었다. 그리고 고객사 직원들도 높게 평가했다.

이 구체적인 문제를 해결하는 과정에 우리가 신중하게 매달린 것은 소프트웨어의 기능에 맞는 UI를 정하는 것이었다. 즉 솔루션의 프런트 쪽을 먼저 개발한 다음 백-엔드로 옮겨 갔다. UI를 디자인할 때는 일상 업무 처리용 애플리케이션이라는 사실을 고려했다. 우리는 오류 가능성이 없고, 사용자 친화적인 인터페이스가 필요하고, 피로감 없이 지속적으로 사용할 수 있는 디자인이 되도록 노력했다.

우리가 직면했던 가장 심각한 문제는, 보호된 정보를 승인된 장소 외부에서 접근하지 못하게 하는 방법을 찾는 것이었다. 슈퍼 관리자 권한을 가진 사람이 내보낸 정보라 하더라도 말이다. 

개발시간은 제한되어 있고, 지속적인 QA와 실시간 테스트를 할 시간도 없었다. 우리는 세션 하드웨어 바인딩(hardware binding of sessions)을 기반으로 한 모델을 사용하기로 했다. 암호화/해독을 진행하기 전에, 애플리케이션은 최종 사용자가 사용하는 하드웨어 아키텍처에 대해 자동 검사를 수행한다. 그 결과를 바탕으로, 제어 문자열이 생성된다. 그 문자열은 후속 암호화 절차를 구현하는 데 사용될 메커니즘을 정의한다. 제어 문자열 검사에서 불일치가 감지되면, 프로세스 차단 프로토콜이 자동으로 시스템에 의해 작동한다. 이 보호 메커니즘은 로컬 워크스테이션들과 회사 정보 인프라의 단일 노드들뿐만 아니라 전체 인프라(서버, 스토리지 등)와도 관련이 있다. 이런 이벤트가 발생하면, 시스템은 해당 상황을 초래한 모든 이벤트를 포함하는 리포트를 자동으로 생성한다. 따라서 사건 대응 및 조사를 보다 쉽게 할 수 있다.

spacer.png

이 방법은 단순하기 때문에, 복잡한 문제에 대한 효과적인 해법이 되었다. 다른 방법들은 R&D 기간이 길고, 많은 테스트가 필요했다. 이 방식은 우리가 고객 인프라의 원격 노드(우리 고객의 본사, 데이터 센터, 현장 등을 벗어난 외부에 있는 노드)들을 제어하고 모니터링하는 데에도 사용할 수 있었다. 원격 노드들은 직원들의 원격 근무를 하는 곳들을 의미한다. 이 경우, 몇 가지 추가 컴포넌트들을 사용했다.

spacer.png

위에 제시된 사례 시나리오는 우리가 개발 과정에서 만난 문제들 중 작은 부분에 불과하다. 사실, 더 많은 복잡한 문제에 직면하고 해결했다. 이로 인해 우리는 비-표준 그리고 비-정통 방식을 사용할 수 밖에 없었다. 또한 다양한 유형의 해법들을 테스트해야 했다. 이 모든 것은 매우 짧은 마감일을 맞추기 위해서였다. 전통적인 방식으로는 상당한 개발 시간이 필요하기 때문이다.  

최종 결과 분석(Final results analysis)

그 모든 어려움과 제한된 예산에도 불구하고, 프로젝트는 정해진 기간 내에 완료되었다. 우리 팀은 고객사 직원들이 이 솔루션을 받아들인 것에 만족한다. 특히 35세 미만인 젊은 직원들에게 더 인기가 있다는 사실에 놀랐다. 

프로젝트가 완료된 후, 경영진과 기술진은 매우 중대한 결론을 얻게 되었다. 기업용 애플리케이션 설계 시 기존 산업 표준을 엄격하게 준수하는 것이 가장 중요하다는 것이었다.

이 경우, NIST SP 800-60, FIPS 200, ISO 10116, ISO 9798-2 등과 같은 표준에만 국한되지 않고 설계 방식, 공식 문서화 및 후속 프로세스 관리에 관한 표준도 포함된다. 

애플리케이션 개발과 배포는 대규모의 복잡한 기술과 비즈니스라는 퍼즐에 있는 한두 조각에 불과하다. 운영 지원과 관련 비용은 이 퍼즐에서 주요 부분이다. 따라서 그 점에도 주의를 기울여야 한다.

슬프게도, 이 업계와  IT 전문가들이 과소평가하는 질문이 있다. 바로 친환경 IT 솔루션 사용이다. 즉, 소프트웨어 솔루션의 전체 에너지 소비에 영향을 미치는 다양한 프로그래밍 개념을 사용하는 것에 대한 질문이다.  종종, 데이터 처리는 전체 CPU 부하에 영향을 미치기 때문에 워크스테이션과 서버의 전체 전력 소비 수준에 영향을 미친다. 이는 중소기업의 경우 작은 차이에 불과하다. 하지만 대기업의 경우에는 그렇지 않다. 상당한 양의 에너지 자원을 일상적인 비즈니스 수행 과정에서 소비하기 때문이다.

우리가 얻은 또 다른 결론이 있다. 정보 보호 촛점이 인터넷과 인터넷에 포함될 수 있는 여러가지 위협에만 한정되면 안 된다는 것이다.

해결해야 할 많은 문제들은 지금 많이 있다. 달성한 결과와 투자한 자원에 관계없이, 우리는 산업 인텔리전스, 엔지니어링 스카우트, 그리고 그에 관련된 활동들이 일상적인 비즈니스 활동 방식을 지속적으로 개선하고 있다는 사실을 인정해야 한다. 앞서 언급했듯이, IT 산업은 시간이 흐르면서 입증되는 최첨단 개념과 솔루션들이 생긴다. 이를 기반으로 하는 최신 솔루션에 대한 연구 개발에 자원, 자본, 에너리를 투자해야 한다. 이는 주로 정부 기관이나 대기업에서 중요하다. 정보와 비즈니스 절차에 대한 연속성이 매우 중요한 곳이기 때문이다.

양자 기술의 출현으로, 디지털 데이터 보호를 위한 대체 솔루션을 찾아야 할 필요가 생겼다. 이 문제는 향후 수십 년 동안 주류가 될 주제일 수 있다. 이 프로젝트에서 얻은 경험은 RAD 스튜디오의 도움으로 비교적 짧은 시간과 한정된 예산을 가지고 높은 효율성을 갖춘 포스트-퀀텀 보호 애플리케이션을 구축할 수 있다는 점을 보여 주었다.

참고자료

[1] Pfitzman B., Information Hiding Terminology, Information hiding: first international workshop, Cambridge, UK. Lecture Notes in Computer Science(컴퓨터 과학 강의 노트), Vol. 1174. Springer-Verlag, Berlin Heidelberg New York, 1996, pp. 347 – 350. 

[2] Anderson R., Petitcolas F., On the Limits of Steganography(스테가노그래피의 한계에 관하여), IEEE Journal on Selected Areas in Communications, Vol. 16, No. 4, May 1998, 474 – 481. 

[3] Bender W., Gruhl D., Morimoto N., Lu A. Techniques for Data Hiding(데이터 숨기기 기술).  MIT Media Lab, 1996, 313 – 336. 

[4] Petitcolas F., Anderson R., Kuhn M. Attacks on Copyright Marking Systems(저작권 표시 시스템에 대한 공격). 정보 숨기기에 관한 두 번째 워크숍, 오리건주 포틀랜드, 4월. 1998년에 진행됨. 

[5] Johnson N.F., Jajodia S. Steganalysis of the image created using current steganography software(현재 스테가노그래피 소프트웨어를 사용하여 생성된 이미지 분석), Proc. 2nd International Workshop on Information Hiding, 1998, LNCS, v.1525, 273 – 289. 

[6] Kutter M., S. Voloshynovskiy, A. Herrigel. The Watermark Copy Attack(워터마크 복사 공격). In Proceedings of SPIE: Security and Watermarking of Multimedia Content II, Vol. 3971, 2000년 1월, 미국 캘리포니아주 산호세. 

[7] Gerasimov G.T, P.G.Gerasimov . 현대 정보 보호의 형태, 오브젝트 관계형 암호화의 실제적 측면, 지역 및 국가 안보에 관한 국제 회의 2000.

[8] Герасимов Г.Т., П.Г.Герасимов, Contemporary forms of information protection(정보 보호의 최신 유형), НАУЧНА КОНФЕРЕНЦИЯ 2018 “Политиката на Европейския съюз по защитата на информацията и личните данни(정보 및 개인 데이터 보호에 관한 유럽 연합 정책)”, стр.187- 195, https://www.aadcf.nvu.bg/scientific_events/papers_is/IS_2018.pdf

[9] File package Manager(파일 패키지 관리자), FPM II spe, 최종 사용자 온라인 도움말, 최종 사용자 온라인 도움말

 

이 글은 기업용 대형 애플리케이션에 대한 기고 경연 대회(Enterprise Article challenge)에 제출된 것이다. 만약 여러분도 델파이, C++빌더 또는 RAD 스튜디오를 사용하여 만든 훌륭한 엔터프라이즈 제품과 프로젝트에 대해 이야기하고 싶은 성공 사례가 있다면 연락을 주기 바란다.

한국 개발자는 데브기어의 델파이 사례 기고 행사에 참여하세요!

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.