상표(컴퓨터 보안)

Trademark (computer security)

컴퓨터 보안의 상표는 개체의 보안 속성을 확인하는 코드와 개체가 특정 보안 속성을 가져야 하는 코드 사이의 계약이다.이와 같이 안전한 정보 흐름을 보장하는 데 유용하다.객체지향 언어에서 상표권은 데이터의 서명과 유사하지만 종종 암호화 없이 구현될 수 있다.

운영

상표는 다음의 두 가지 작업을 가진다.

ApplyTradmarket!(개체)

이 작업은 디지털 서명 프로세스에서 개인 키와 유사하므로 신뢰할 수 없는 코드에 노출되지 않아야 한다.불변의 개체에만 적용해야 하며, VerifyTradmarkets를 확인하십시오.진실로 되돌아오는 것과 같은 값으로 호출된다.

VerifyTradmarket?(개체)

이 작업은 디지털 서명 프로세스에서 공용 키와 유사하므로 신뢰할 수 없는 코드에 노출될 수 있다.지정된 개체와 함께 ApplyTradmarket!이 호출된 경우 true를 반환한다.

도색 확인과의 관계

트레이드마킹은 색칠 확인의 역행이다.taint checking은 특정 객체를 신뢰해서는 안 된다는 블랙 리스트 방식인 반면, 상표권은 특정 객체를 특정 보안 속성을 가진 것으로 표시하는 화이트리스트 방식이다.

메모화에 대한 관계

적용 상표는 검증 과정을 메모하는 것으로 생각할 수 있다.

계약확인과의 관계

가치에 특정 보안 속성이 있다는 사실은 정적으로 검증될 수 있기 때문에 검증 프로세스를 수행할 필요가 없는 경우도 있다.이 경우 적용 속성은 특정 보안 속성으로만 출력물을 생산하기 위해 공식적으로 확인된 코드에 의해 물체가 생성되었다고 주장하기 위해 사용되고 있다.

Java에서 상표를 적용하는 한 가지 방법:

  공중의 계급 상표 {     /* 약한 ID 해시 집합 사용 대신 a.csv(b) &&amp;check(a)가 있으면 체크(b)를 의미하지 않는다.*/     사유의 최종의 약한해시셋<?> 상표가 붙은 = ...;      공중의 동기화된 공허하게 하다 신청하다(오브젝트 o) {       상표가 붙은.덧셈을(o);     }      공중의 동기화된 부울 수표(오브젝트 o) {       돌아오다 상표가 붙은.포함하다(o);     }   }    공중의 계급 htmlSanitizer {     // 적용 작업은 비밀로 한다.     사유의 정태의 최종의 상표 TM = 새로운 상표();      공중의  소독하다html( RawHtml) {       // 안전 태그를 제외한 모든 태그 제거        safeHtml = ...;       // java.properties.끈은 불변성이므로 상표가 가능하다.       TM.신청하다(safeHtml);       돌아오다 safeHtml;     }     공중의 부울 이소니티드( html) {       돌아오다 TM.수표(html);     }   } 

외부 링크