'Mac'에 해당되는 글 2건

  1. 2007.06.24 오렌지북
  2. 2006.03.12 MAC 알고리즘

오렌지북

Security License 2007.06.24 14:38
오렌지북 TCSEC 구분
 

A  Verified protection

A1

Verify design

B  MAC

B3

B2

B1


Security domain

Structure protection

Labe security protection

C  DAC

C2

C1

Control access protection

Disrectionary security protection

Posted by 엔시스

메시지 인증 코드(Message Authentication Code:MAC)는 데이타가 변조(수정, 삭제, 삽입 등)되었는지를 검증할 수 있도록 데이타에 덧붙이는 코드이다. 종이 문서의 경우 원래의 문서를 고치거나 삭제하거나 하는 경우 그 흔적이 남아서 변조되었는지를 확인하지만 디지털 데이타인 경우 일부의 비트가 변경되거나 혹은 임의의 데이타가 삽입되거나 일부가 삭제되어도 흔적이 남지 않는다. 이런 문제를 해결하기 위하여 원래의 데이타로만 생성할 수 있는 값을 데이타에 덧붙여서 확인하도록 하는 것이 MAC이다. 이때, 변조된 데이타에 대해서 MAC을 생성하여 MAC도 바꿔치기할 가능성이 있으므로 MAC의 생성과 검증은 반드시 비밀키를 사용하여야 한다.

그림 9 : MAC의 생성

전송 받은 데이타에 대해서 데이타의 무결성을 확인하기 위해서는 MAC을 생성할때 사용된 같은 비밀키를 이용하여 같은 방법으로 MAC을 생성하여 전송 받은 MAC값과 비교한다. 따라서 MAC을 사용하려면 통신하는 양쪽에서 MAC에 사용될 비밀키를 공유하고 있어야 한다.

MAC을 생성하는 함수로는 해쉬함수을 이용한 HMAC이 있다. HMAC은 해쉬함수의 입력에 사용자의 비밀키와 메시지를 동시에 포함하여 해쉬코드를 구하는 방법이다. MAC을 통해서 데이타의 무결성을 검증하기 위해서는 같은 MAC값을 갖는 서로다른 두개 이상의 메시지를 쉽게 구할 수 있으면 안되므로 해쉬함수의 일방향성이나 강한 충돌 회피성등이 필수적이다.

또다른 방법으로는 블럭 암호의 CBC 모드를 사용하는 CBC-MAC이 있다. 이 방법은 데이타를 선택된 블럭 암호로 CBC 모드를 사용하여 암호화한 뒤에 최종 암호문 블럭을 가지고 MAC 값을 구하는 방법이다. 이때의 MAC의 안전성은 사용된 블럭 암호의 안전성에 의존한다.

'Security Skill&Trend' 카테고리의 다른 글

서명  (2) 2006.03.12
공개키 암호  (2) 2006.03.12
MAC 알고리즘  (0) 2006.03.12
해쉬함수  (0) 2006.03.12
대칭키 운영모드  (0) 2006.03.12
암호의 종류  (0) 2006.03.12
Posted by 엔시스