KR20070105272A - 다용도 액세스 제어 시스템 - Google Patents

다용도 액세스 제어 시스템 Download PDF

Info

Publication number
KR20070105272A
KR20070105272A KR1020070040214A KR20070040214A KR20070105272A KR 20070105272 A KR20070105272 A KR 20070105272A KR 1020070040214 A KR1020070040214 A KR 1020070040214A KR 20070040214 A KR20070040214 A KR 20070040214A KR 20070105272 A KR20070105272 A KR 20070105272A
Authority
KR
South Korea
Prior art keywords
access control
recognition verification
rights
credential
identifying
Prior art date
Application number
KR1020070040214A
Other languages
English (en)
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 시게이트 테크놀로지 엘엘씨
Publication of KR20070105272A publication Critical patent/KR20070105272A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

다수의 권한들, 다수의 액세스 제어 엘리먼트들 및 액세스 제어 리스트를 포함하는 액세스 제어 시스템 및 방법이 제공된다. 각각의 권한은 다수의 인식 검증 동작들 중 적어도 하나를 다수의 인식 검증 크리덴셜들 중 적어도 하나와 연관시킨다. 각각의 액세스 제어 엘리먼트는 상기 권한들 중 적어도 하나의 부울 조합을 식별한다. 액세스 제어 리스트는 실행될 메소드가 인증될 수 있는 하나 이상의 상기 액세스 제어 엘리먼트들을 식별한다.

Description

다용도 액세스 제어 시스템{VERSATILE ACCESS CONTROL SYSTEM}
도 1은 본 발명의 일 실시예에 따른 액세스 제어 시스템을 가진 주변장치 제어기의 블럭도이다.
도 2는 주변 장치에서 동작되는 메소드들에 대한 액세스 제어 리스트들(ACLs)의 예시적인 사용을 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 액세스 제어 서브시스템을 가진 트러스티드(trusted) 주변장치를 갖는 멀티컴포넌트 트러스티드 플랫폼의 블럭도이다.
도 4는 본 발명의 일 실시예에 따른 테이블 1에 도시된 포맷을 가진 메소드 테이블의 간략화된 시각적 예시를 도시한다.
도 5는 호스트와 주변장치 사이에 패스 코드 인증을 구현하는 세션의 일 예를 도시하는 도면이다.
※ 도면의 주요 부분에 대한 부호의 설명
100: 주변장치 제어기 전자장치 102: 로딩가능한 펌웨어
104: 펌웨어 기능부들 106: 데이터 싱크(sync)/소스
108: 특별 하드웨어 기능부들 110: 주 호스트 인터페이스
112: 전력 인터페이스 114: 진단 포트들
116: 프로브 포인트들 120: 액세스 제어 서브시스템
"HYBRID COMPUTER SECURITY CLOCK"란 명칭의 미국 출원번호 및 "VERSATILE SECURE AND NON-SECURE MESSAGING"란 명칭의 미국 출원번호 에 대한 교차 인용이 본 발명에서 이루어지며, 이들은 참조로 본 발명에 포함된다.
다음과 같은 공동 계류 중인 미국 특허출원들 또한 교차 인용된다: "METHODS AND SYSTEMS FOR PROMOTING SECURITY IN A COMPUTER SYSTEM EMPLOYING ATTACHED STORAGE DEVICES"란 명칭으로 2001년 7월 25일자로 출원된 09/912,931호; "SYSTEM AND METHOD FOR DELIVERING VERSATILE SECURITY, DIGITAL RIGHTS MANAGEMENT, AND PRIVACY SERVICES FROM STORAGE CONTROLLERS"란 명칭으로 2004년 10월 12일자로 출원된 10/963,373호; "SYSTEM AND METHOD FOR DELIVERING VERSATILE SECURITY, DIGITAL RIGHTS MANAGEMENT, AND PRIVACY SERVICES"란 명칭으로 2004년 11월 9일자로 출원된 10/984,368호; "METHODS AND SYSTEMS FOR PROMOTING SECURITY IN A COMPUTER SYSTEM EMPLOYING ATTACHED STORAGE DEVICES"란 명칭으로 2005년 7월 11일자로 출원된 11/178,908호; "METHODS AND APPARATUS FOR PROVIDING VERSATILE SERVICES ON STORAGE DEVICES"란 명칭으로 2006년 1월 31일자로 출원된 11/343,338호; 및 "METHODS AND SYSTEMS FOR PROMOTING SECURITY IN A COMPUTER SYSTEM EMPLOYING ATTACHED STORAGE DEVICES"란 명칭으로 2006년 2월 2일자로 출원된 11/346,118호.
본 발명은 일반적으로 컴퓨터 시스템들의 보안에 사용되는 바와 같은 액세스 제어 시스템들 및 방법들에 관한 것이다.
일반적으로, 액세스 제어 시스템들은 객체들의 메소드들(methods)을 실행할 수 있는 것 또는 사람을 제한한다. 객체의 메소드를 실행하기 위한 승인은 호스트 애플리케이션이 어떤 시크릿들(secrets) 또는 정보를 알고 있다는 것을 증명함으로써 제어된다. 예를 들어, 정상 로그온(logon) 시스템들에서, 호스트 애플리케이션은 사용자 및 사용자가 액세스하기 원하는(파일을 판독하는 것과 같은) 클라이언트 애플리케이션 사이의 인터페이스로서 작용한다. 전형적인 액세스 제어 시스템들은 패스워드, 공용 키 요청/응답, 대칭 키 요청/응답, 또는 키-해쉬 메시지 인증 코드(HMAC)와 같이, 특정 타입들의 인증 프로토콜들로 제한된다.
이러한 프로토콜들은 종종 액세스되고 있는 디바이스의 펌웨어 또는 운영 시스템에 의해 단일 타입의 인증으로 고정된다. 결과적으로, 액세스 제어 시스템들은 통상적으로 단일 또는 제한된 수의 인증 프로토콜들로 제한되거나 제한된 융통성(flexibility)을 갖는다.
따라서, 증가된 다양성과 많은 상이한 인증 프로토콜들로의 확장성을 제공할 수 있는 개선된 액세스 제어 시스템들과 방법들이 요구된다.
본 발명의 다양한 실시예들은 이러한 문제들을 해결하고 종래기술에 비해 다른 장점들을 제공한다.
본 발명의 목적은 증가된 다양성과 많은 상이한 인증 프로토콜들로의 확장성 을 제공할 수 있는 개선된 액세스 제어 시스템들과 방법들을 제공하는 것이다.
본 발명의 일 실시예는 다수의 권한들(authorities), 다수의 액세스 제어 엘리먼트들, 및 액세스 제어 리스트를 포함하는 액세스 제어 시스템에 관한 것이다. 각각의 권한은 다수의 인식 검증 동작들(proof of knowledge operations) 중 적어도 하나를 다수의 인식 검증 크리덴셜들(credentials) 중 적어도 하나와 연관시킨다. 각각의 액세스 제어 엘리먼트는 상기 권한들 중 적어도 하나의 부울(Boolean) 조합을 식별한다. 액세스 제어 리스트는 실행될 메소드(method)가 인증될 수 있는 하나 이상의 액세스 제어 엘리먼트들을 식별한다.
본 발명의 다른 실시예는 액세스 제어 시스템에 관한 것으로서, 크리덴셜 테이블, 권한 테이블 및 액세스 제어 엘리먼트 테이블을 포함한다. 상기 크리덴셜 테이블은 다수의 인식 검증 동작들 중 적어도 하나에 의해 검증될 수 있는 다수의 인식 검증 크리덴셜들을 포함한다. 권한 테이블은 다수의 권한들을 식별하고, 각각의 권한에 대해, 상기 인식 검증 동작들 중 적어도 하나를 상기 인식 검증 크리덴셜들 중 적어도 하나와 연관시킨다. 상기 액세스 제어 엘리먼트 테이블은 다수의 액세스 제어 엘리먼트들을 식별하고, 각각의 액세스 제어 엘리먼트에 대해, 적어도 하나의 권한들의 부울 조합을 식별한다.
본 발명의 다른 실시예는 다음을 포함하는 방법에 관한 것이다: 다수의 권한들을 유지시키는 단계 - 각각의 권한은 다수의 인식 검증 동작들 중 적어도 하나를 다수의 인식 검증 크리덴셜들과 연관시킴 -; 및 다수의 액세스 제어 엘리먼트들을 유지시키는 단계 - 각각의 액세스 제어 엘리먼트는 상기 권한들 중 적어도 하나의 부울 조합을 식별하고, 상기 다수의 권한들과 상기 다수의 액세스 제어 엘리먼트들은 액세스가 제어되는 디바이스와 연동되는 메모리 내에서 적어도 부분적으로 유지됨 - 를 포함한다.
본 발명의 다른 실시예는 명령어들을 가진 감각형(tangible) 컴포넌트를 갖는 컴퓨터 판독가능한 매체에 관한 것이다. 명령어들이 컴퓨팅 디바이스에 의해 실행될 때, 명령어들은 컴퓨팅 디바이스가 다음을 포함하는 단계들을 수행하도록 한다: 다수의 권한들을 유지시키는 단계 - 각각의 권한은 다수의 인식 검증 동작들 중 적어도 하나를 다수의 인식 검증 크리덴셜들 중 적어도 하나와 연관시킴 -; 및 다수의 액세스 제어 엘리먼트들을 유지시키는 단계 - 각각의 액세스 제어 엘리먼트는 상기 권한들 중 적어도 하나의 부울 조합을 식별하고, 상기 다수의 권한들과 상기 다수의 액세스 제어 엘리먼트들은 액세스가 제어되는 디바이스와 연동되는 메모리 내에 적어도 부분적으로 유지됨 -.
본 발명의 하나 이상의 실시예들의 다른 특징들과 장점들은 이하의 상세한 설명 및 연관되는 도면을 참조로 명백해질 것이다.
본 발명은 예를 들어 내장(embedded) 애플리케이션들용이고 매우 확장성이 좋은, 컴팩트하지만 다용도의 액세스 제어 시스템 및 방법을 제공한다. 상기 시스템 및 방법은 간단한 유저네임/패스워드 로그온들보다 더 융통성있고, 단일 액세스 제어 프레임워크내의 다수의 다른 인식 검증 메소드들을 무한하게 포함할 수 있다.
하나 이상의 실시예들에서, 상기 액세스 제어 시스템 및 방법은 그래픽 제어 기 또는 저장 장치 제어기 내와 같이, 액세스되는 주변장치의 펌웨어내에 내장된다. 상기 액세스 제어 시스템 및 방법은 폴리시들의 세트(set of policies)가 예를 들어, 전용 제어기들의 피쳐들과 리소스들에 대해 정의되도록 한다. 상기 시스템 및 방법은 주변장치 제어기 내부의 피쳐 또는 리소스로서 내장된다. 상기 시스템 및 방법은 특정 애플리케이션을 위해 용이하게 정의될 수 있는 일련의 간단한 액세스 제어 테이블들을 통해 인증 프로세스를 구현함으로써 사용자가 많은 상이한 종류의 권한들을 이용하여 인증을 융통성있게(flexibly) 정의할 수 있도록 하는 메커니즘을 제공한다.
예를 들어, 상기 액세스 제어 시스템은 크리덴셜 테이블들의 세트, 권한 테이블 및 액세스 제어 엘리먼트(ACL) 테이블을 포함할 수 있다. 각각의 크리덴셜 테이블들은 인증 메소드들, 인증 동작들 또는 프로토콜 동작들로서 공지된, 다수의 인식 검증 동작들 중 적어도 하나에 의해 검증될 수 있는 다수의 인식 검증 크리덴셜들을 포함한다. 권한 테이블은 다수의 권한들을 식별하고, 각각의 권한에 대해, 인식 검증 동작들(인증 동작들) 중 적어도 하나를 인식 검증 크리덴셜들 중 적어도 하나와 연관시킨다. ACE 테이블은 다수의 ACE들을 식별하고, 각각의 ACE에 대해, 권한들 중 적어도 하나의 부울 조합을 식별한다.
임의의 리소스 또는 피쳐를 사용하거나 주변장치와 연관되는 각각의 "메소드"는 연관된 액세스 제어 리스트(ACL)를 가질 수 있고, 실행될 메소드가 인증될 수 있는 하나 이상의 ACE들을 식별한다. 인증되면, 메소드는 실행 허가된다.
액세스 제어 시스템은 예를 들어, 컴퓨팅 디바이스와 같은 임의의 주변장치 에 대해 구현될 수 있다. 본 발명에서 사용되는 것처럼, "컴퓨팅 디바이스"는 이에 제한됨이 없이, 데스크탑 컴퓨터 시스템들, 랩탑 컴퓨터 시스템, 네트워크 컴퓨터 시스템들, 휴대전화 및 PDA와 같은 무선 시스템들, 자체-내장(self-containing) 웹-캠들을 포함하는 디지털 카메라들, 저장 장치들, 및/또는 이러한 시스템들과 장치들 또는 다른 시스템들과 장치들의 임의의 합리적인 조합을 포함한다.
도 1은 본 발명의 일 실시예에 따른 액세스 제어 서브시스템(120)이 사용될 수 있는 주변장치에 대한 일반적인 리스크 모델을 도시하는 블럭도이다. 주변장치는 펌웨어 기능부들(104), 데이터 싱크(sync)/소스(106) 및 특별 하드웨어 기능부들(108)을 갖는 로딩가능한(loadable) 펌웨어(102)를 포함하는 주변장치 제어기 전자장치 블럭(100)을 갖는다. 주변장치에 대한 일반적인 리스크 모델은 전형적으로 디바이스 상의 4개의 주요 공격 채널들(channels of attack)을 갖는다. 이러한 채널들은 주 호스트 인터페이스(110), 전력 인터페이스(112), 진단 포트들(114) 및 프로브 포인트들(116)을 포함한다. 이하에서 보다 상세히 기술되는 것처럼, 액세스 제어 서브시스템(120)은 취약한 이러한 포인트들과 주변장치의 피쳐들 및 리소스들에 비해 다용도 액세스 제어를 제공하기 위해 주변장치 제어기 전자장치(100)의 로딩가능한 펌웨어(102)에 내장될 수 있다.
1. 액세스 제어
적어도 하나의 보안 제공자(SP)는 예를 들어, 2003년 1월 30일자로 공개된 미국 특허출원 공개 US2003/0023867호에 기술된 것처럼, SP에 대한 액세스가 제어될 수 있는 각각의 주변 장치에 대해 생성된다. SP는 예를 들어, 호스트 소프트웨 어 제공자를 대신하여 주변장치에서 발행될 수 있는 액세스 제어 테이블들 및 메소드들의 자동 수집(atomic collection)을 포함한다. 호스트 소프트웨어 제공자는 주변장치에 직접적 또는 간접적으로 결합되고 주변장치와 연동되거나 리소스 또는 펴쳐를 사용하기 위한 액세스를 목표로 하는 소프트웨어 애플리케이션과 같은 임의의 디바이스 또는 프로세스를 포함한다.
액세스 제어는 보안 제공자, 액세스 제어 테이블, 또는 테이블의 특정 행들(rows) 및 열들(columns)상에서 메소드들을 실행할 수 있는 사람 또는 사물을 제한한다. "메소드"란 용어는 호스트 애플리케이션이 주변장치의 리소스 또는 피쳐를 사용할 수 있도록 수행하는 것이 바람직하고 하나 이상의 권한들이 공격받는 동작들(actions)을 지칭하는 것으로서 본 발명에서 사용된다. 예를 들어, SP에 대한 메소드 호출들은 Get(값 획득), Set(값 설정), Unlock(예, 시리얼 포트 닫음) 등을 포함할 수 있다. 이러한 메소드들은 SP에 의해 유지되는 액세스 제어 테이블상의 동작들, 및 데이터 저장 매체상의 동작들과 같이, SP에 의해 제어되는 다른 주변장치 리소스들상의 동작들로 유도될 수 있다.
메소드를 실행하기 위한 허가는 호출자(invoker)가 시크릿들(secrets)을 인지하고 있다는 것을 검증함으로써 제어된다. 시크릿들과 이들의 공용 파트들은 크리덴셜들로 호출된다. 상술한 것처럼, 시크릿의 인식(knowledge)을 검증하기 위한 동작은 인증 메소드 또는 인증 동작으로 호출된다. 시크릿 정보의 실제적인 검증이 인증으로 호출된다.
일 실시예에서, 액세스 제어 시스템은 3가지 타입들의 간단한 테이블들, 즉 액세스 제어 엘리먼트들(ACEs)의 테이블, 권한들의 테이블, 및 크리덴셜들의 테이블들의 세트로 구현된다. 정보가 검증되는 "시크릿들" 또는 정보는 크리덴셜 테이블들에 저장된다.
1.1 액세스 제어 리스트들(ACLs)
액세스 제어는 계층들에서 특정된다. 상위 계층의 메커니즘은 액세스 제어 리스트들(ACLs)이다. ACLs은 액세스 제어 엘리먼트들(ACEs)의 리스트들이다. 이러한 레이어링(layering)은 그 ACEs의 제어를 통해 다양한 독립적인 엔티티들에 대해 ACL의 제어를 위임할 수 있는 방식을 호스트에 제공한다. 일 실시예에서, ACL은 미리 결정된 바이트 수의 토큰(token) 리스트로서 구현된다. 이는 부가 기수법(postfix notation)으로 ACE 표현을 나타내고, 여기서 논리 연산자들 AND, OR, 및 NOT은 정보들 -1, -2, 및 -3으로서 인코딩된다.
ACLs의 형성 블럭들로서 ACEs을 갖고, 각각의 ACE는 개별 관리 제어(managerial control)를 가질 수 있다. 예를 들어, 하나의 권한은 테이블을 생성할 수 있고, 이에 대한 일부 ACEs의 다른 권한 제어를 제공할 수 있다. 이것은 액세스의 융통성있는 미세 조정 관리를 허용한다.
가장 간단한 ACL은 하나의 권한의 하나의 ACE이다. ACL에서 최소 개수 및 최대 개수의 ACEs, 및 ACE에서 최소 개수 및 최대 개수의 권한들은 디바이스 특정이다.
1.2 액세스 제어 엘리먼트들(ACEs)
ACEs은 권한들의 부울 조합들이다. 이는 ACE가 교차-인증(cross- certification) 또는 다른 형태의 제한을 표현하도록 허용한다. 권한이 인증될 때, 부울 표현의 참(true)이고, 그렇지 않을 경우 거짓(false)이다. ACL에서 임의의 ACE가 참이면, ACL은 참이다.
도 2는 ACLs의 예시적인 사용을 도시하는 도면이다. 상위 레벨(130)에서, SP의 테이블 또는 객체는 2개의 메소드 호출들(메소드 1 및 메소드 2)이 SP에 의해 인증될 수 있는 인증 동작들을 식별한다. 예를 들어, "메소드 1"은 ACE1 및 ACE2를 나열하는 ACL을 가질 수 있다. 따라서, 메소드 1은 ACE1 또는 ACE2를 충족시킴으로써 인증될 수 있다. 상술한 것처럼, 각각의 ACE는 하나 이상의 권한들의 부울 표현이다. 이러한 예에서, ACE1은 "AUTH1 and (AUTH2 or AUTH3)"에 의해 충족될 수 있는 반면에, ACE2는 "AUTH4 or AUTH5"에 의해 충족될 수 있다. 유사하게, "메소드 2"는 ACE3 및 ACE4를 나열하는 ACL을 가질 수 있고, 여기서 ACE3은 "AUTH1 and AUTH3"에 의해 충족되고, ACE4는 "AUTH2 and NOT AUTH4"에 의해 충족된다.
1.3 권한들(Authorities)
SP상의 권한 테이블은 권한 객체들에서 특정 크리덴셜-동작 쌍들을 함께 연관시킨다. 예를 들어, 하나의 권한은 시크릿 패스워드 및 패스워드 인증의 규정된 인식 검증 동작을 포함하는 크리덴셜을 포함할 수 있다. 호스트 애플리케이션은 권한을 인증한다. 권한은 액세스 제어 시스템(120)의 베이스 레벨 형성 블럭이다.
권한은 사람, 규칙, 프로그램 에이전트 등을 나타내도록 호스트 애플리케이션에 의해 사용될 수 있다. 이들은 SP가 아니라, 애플리케이션에 대한 구별들이다.
권한들에는 2가지 타입들이 있다: 개별(Individual) 및 클래스(Class). 개별 권한은 하나의 크리덴셜(시크릿) 및 크리덴셜에 대한 하나의 인증 메소드(시크릿의 인식을 검증하는 방법)를 특정한다. 클래스는 또한 클래스의 멤버일 수 있다. 클래스 권한은 예를 들어, 클래스 네임 및 권한 UID에 의해서만 식별된다.
클래스 권한은 클래스 권한의 멤버인 개별 권한이 인증될 때 인증된다. 클래스 권한들은 직접적으로 인증될 수 없다. 클래스 권한들은 메소드를 인증할 수 있는 모든 개별 권한들을 열거함이 없이 메소스 상에 ACE가 설정될 수 있도록 하는 편리한 방법이다. 이것은 그 클래스에 속하는 개별 권한들이 클래스 권한을 지칭하는 임의의 ACEs을 변경할 필요 없이 변경될 수 있다는 것을 의미한다.
1.4 크리덴셜들(Credentials)
크리덴셜은 name C_*으로 지정되는 크리덴셜 테이블의 객체이고, 여기서 "*"는 특정 인증 동작을 나타내는 변수이다. 각각의 크리덴셜 테이블은 해당하는 인증 동작과 연관되고, 인증 동작에 의해 검증될 수 있는 하나 이상의 인식 검증 크리덴셜들(다수의 고유 패스워드들 또는 공용-개인용 키 쌍들)을 포함한다. 공용 키들과 인증서들과 같이, 개인용 파트들(private parts)과 공용 파트들(public parts)을 가질 수 있다. 특정 크리덴셜이 그것의 모든 열들에 채워질 필요는 없다. 예를 들어, 공용 키를 허가하는 공용 키와 인증서들만이 공지되면, 개인용 키는 없을 수 있다. 크리덴셜 테이블은 또한 각 크리덴셜의 공용 파트들과 시크릿들을 이용하기 위한 내부 기능부들을 갖고, 모든 선택적인 파트들을 처리한다.
1.5 인증 동작 타입들
인증 동작은 크리덴셜에 대해 적절하게 선택된다. 가능한 인증 동작들의 예들은 다음을 포함한다:
- 패스워드 또는 PIN 또는 패스코드;
- 암호화(Signing):
공용 키 요구(Challenge)/응답 사인/검증
대칭 키 요구/응답 사인/검증
해쉬 MAC, 또는 HMAC 요구/응답 사인/검증;
- 키 교환(인증서들 또는 다른 방법들이 명확하지 않은 인증을 제공함):
공용 키 암호화/복호화
대칭 키 암호화/복호화; 및
- 넌(None) 또는 "" 이러한 동작은 항상 성공적이므로 권한은 항상 인증될 것이다.
액세스 제어는 SP상의 메소드들, SP의 특정 테이블, 또는 SP의 특정 테이블의 임의의 부분들, 단일 테이블 셀의 입도(granularity)에까지 적용할 수 있도록 허용된다.
일 실시예에서, 권한에 대한 인증은 호스트 애플리케이션과 주변장치 사이에 개시되는 세션 내에서 발생하고 예를 들어, 상기 세션에만 적용된다. 세션 동안, 호스트는 임의의 수의 인증 메소드 호출들을 형성할 수 있다.
2. 주변장치에 대한 액세스 제어의 구현
도 3은 본 발명의 일 실시예에 따른 트러스티드(trusted) 주변장치에 대해 상술한 바와 같이 액세스 제어 시스템을 구현하기 위한 코어 아키텍쳐(200)의 블럭도이다. 도 3은 단일 플랫폼 호스트(202) 또는 멀티컴포넌트 트러스티드 플랫폼(MCTP)을 도시한다. 호스트(202)는 컴포넌트 인증 관리자(Component Authentication Administrator)(CAA)(208)를 통해 주변장치들의 추적을 유지한다. APP1(라벨링된 210), APP2(라벨링된 212), 및 CAA(라벨링된 208)와 같은 다양한 호스트 소프트웨어 애플리케이션들은 드라이버(214)와 주변장치 인터페이스(216)를 통해 트러스티드 주변장치(204)와 상호작용할 수 있다. 트러스티드 주변장치(204)는 주변장치의 영구적인 신뢰 상태(trust state)를 제어하는 메소드들의 테이블들의 발행 세트(issued set)를 포함하는 보안 제공자(SP)(220)를 포함한다.
일 실시예에서, 테이블의 각 행은 로그인 네임 및 패스워드 간의 조합(association)과 같은 보안 조합이며, 각각의 열 네임은 "login_name" 및 "password"와 같이, 조합 부분들이다. 권한 객체는 권한 객체 테이블의 이러한 하나의 행이다. 보안 조합을 형성하는 테이블은 그 내부의 행들로서 기록된 많은 상이한 조합들을 가질 수 있다. 다양한 테이블들의 세트 또는 개인화(personalization)에 따라, 특정 권한들은 특정 테이블들의 특정 행들과 열들에서 특정 메소드들을 수행하도록 인증해야할 수 있다. 보안 제공자(SP)(220)는 완전히 자체-내장된 독립형(stand-alone)의 상기 테이블들의 보안 영역(security domain)이다. 주변장치(204)는 호스트(202)의 특정 애플리케이션들에 전용된 220 및 222와 같이, 하나 보다 더 많은 발행된 서비스 제공자를 가질 수 있다.
보안 제공자는 영구적인 데이터 및 메소드들(또는 원격 프로시저 호출들)로 각각 구성된 객체들을 포함한다. 일 실시예에서, 데이터가 아닌 메소드들은 액세스 제어 리스트들(ACLs)로 구속(bound)된다. 가장 간단한 경우, SP에 2가지 타입의 객체들이 있다:
a. 임의의 테이블들에 대해 메소드들과 ACL들을 형성하는 테이블 객체들,
b. SP 또는 연관된 객체들에서 메소드들을 실행하기 이전에 인식을 검증하는데 요구되는 암호 검증들 또는 패스워드를 특정하는 권한 객체들.
일 실시예에서, 모든 트러스티드 주변장치들은 그 테이블들의 세트 및 테이블들상의 액세스-제어 메소드들을 통해 트러스트 주변장치의 동작 보안 특성들을 허용하는 단지 하나의 록킹(locking) SP를 갖는다. 새로운 SPs을 발행할 수 있는 트러스티드 주변장치들에서, 관리자 SP는 다중 SP들을 관리하는데 사용될 수 있다.
CAA(208)를 포함하는 호스트(202)상의 애플리케이션들은 하나 이상의 객체 메소드들을 실행하는 SP와 세션들을 형성함으로써(도 3의 커넥터들(230)), 영구적인 상태를 변경 또는 요청할 수 있다.
호스트(202)는 특정 인터페이스(216)의 인터페이스 명령들을 이용하여 세션을 개방함으로써 SP(220)와 통신한다. 가장 간단한 경우에, 호스트(202)는 트러스티드 주변장치가 직접적으로 부착되는 플랫폼 호스트이다. 보다 일반적인 경우에, 호스트(202)는 네트워크 상에서 세션 스트림을 트러스티드 주변장치(204)로 릴레이하는 중간 플랫폼 호스트와 통신하는 몇몇 다른 플랫폼 호스트일 수 있다.
새로운 SP들을 발행할 수 있는 트러스티드 주변장치들은 새로운 SP들이 생성되는 SP 템플릿들(templates)을 가질 수 있다. SP 템플릿들은 발행시 이들을 기반 으로 하는 SP들이 갖게 될 초기(initial) 테이블들과 메소드들을 정의한다. SP 템플릿들은 베이스 SP 템플릿의 기능성을 확장하도록 조합될 수 있다.
3. 테이블들
3.1 테이블들의 일반적인 디스크립션
일 실시예에서, 예를 들어, 액세스 제어 테이블들은 SP에 대한 유일한 영구적인 상태이다. 즉, 세션의 종료를 지나 지속되는 SP에 대한 유일한 데이터는 테이블들에 저장된 데이터이다. 테이블들은 디바이스의 비-보안 영역들의 동작들과 주변장치 재부팅들에도 살아남는다.
액세스 제어 테이블들은 주변장치(204)와 연동되는 임의의 물리적인 메모리 장치에 (전체적으로 또는 부분적으로) 저장될 수 있다. 예를 들어, 테이블들은 디바이스의 보안 저장 영역의 SP-특정 부분들에 저장될 수 있다.
테이블은 명칭이 지정된 열들과 어드레스가능한 행들을 가진 그리드(grid)를 포함한다. 각각의 열 및 행 교차부에 셀이 있다. 열의 모든 셀들은 동일한 타입을 갖는다. 열들의 타입들과 행들의 최대 수가 완전히 특정될 수 있기 때문에, 테이블의 크기는 테이블이 생성될 때 결정된다. 그러나, 본 명세서 및 청구범위에 사용되는 바와 같은 "테이블"이란 용어는 메모리내의 2개 이상의 데이터 필드들을 연관시키는데 사용될 수 있는 임의의 데이터 구조 또는 배열을 포함할 수 있다. 테이블의 "행들" 및 "열들"은 상기 필드들이 서로 연관되는 방식을 지칭하고, 상기 필드들이 저장된 메모리 셀들의 물리적 배치를 필수적으로 지칭하는 것은 아니다.
테이블 또는 테이블 열 네임은 18바이트 까지의 길이를 가질 수 있다. 단지 예로서, 본 발명에서 사용되는 네임들은 ASCⅡ 문자들로 이루어지고, 그 처음은 글자이고 나머지는 글자, 디지트 또는 밑줄이다.
SP들은 발행 및 삭제될 수 있다. SP내에서, 테이블들이 생성 및 삭제될 수 있다. 각각의 테이블에 대해, 행들이 생성 및 삭제될 수 있지만(바이트 테이블내에서를 제외하고 - 이하 참조), 열들은 테이블이 생성될 때에만 생성된다.
각각의 SP는 메타데이터 테이블들 자신들을 포함하는 SP의 모든 테이블들을 완전히 기술하는 메타데이터 테이블들의 세트를 가질 수 있다.
액세스 제어는 테이블들 또는 테이블들의 특정 행들에서 어떤 메소드들이 실행될 수 있는지를 제한하는 수단을 제공한다.
3.2 테이블들의 종류들
하나의 예시적인 실시예에서, 4가지 종류의 테이블이 있다:
바이트 테이블은 타입 uinteger{1}의 하나의 unnamed 열을 갖는다. 이것은 원시 저장 추출(raw storage abstraction)을 제공한다. 일 실시예에서, 이러한 테이블의 행들은 할당 또는 프리드(freed)될 수 없다.
어레이 테이블은 무부호 정수(unsigned integer)로 어드레스되는 행들을 갖는다. 첫번째 행은 1, 등이다.
인덱스 테이블(Indexed Table)은 인덱스로서 지정된 하나 이상의 열들을 갖는다. 각각의 테이블 행은 고유하고 상이한 인덱스를 갖는다(모든 인덱스 열들에서 고유하고 상이한 값들을 갖는다). 인덱스는 행을 어드레스하는 유일한 방법이다.
객체 테이블은 인덱스 테이블의 한 종류이다. 객체 테이블은 항상 네임 열(Name column)을 갖는다. 그 인덱스는 네임 "Name" 및 타입 bytes{max=18}을 갖는 단일 열이다. 이것은 객체의 네임이고, 특정 객체 타입과 네임을 갖는 객체를 찾기 위한 신속한 방법을 제공한다. 객체 테이블은 열(객체)-특정 ACLs을 저장하기 위한 열들을 갖는다. 각각의 행(객체)은 ACL을 포함하는 행에 대해 암시적인(implicit) 행-제한을 통해 누가 행(객체)을 생성했는지를 기반으로 그 자신의 ACL들을 갖는다.
바이트 테이블 제외:
새롭게 생성된 테이블은 초기에 비어있고, 행들은 테이블이 사용될 수 있기 이전에 생성되어야 한다;
타입 uinteger{4}의 ID 열이 항상 존재한다. 각각의 행은 다른 행과 결코 공유되지 않고 재사용되지 않는 열에서 고유 값을 갖는다. 행들이 생성될 때 새로운 값들이 할당되고, 행들이 삭제될 때 예전 값들은 버려진다. ID 열은 인덱스(또는 객체) 테이블의 인덱스 열일 수 있다. ID 열은 스푸핑(spoofing) 방지 성능을 제공하기 위해 존재한다.
4. 액세스 제어 테이블들
이하의 섹션들은 내장형 액세스 제어 시스템을 구현하기 위한 본 발명의 일 실시예에서 사용되는 액세스 제어 테이블들을 정의한다. 부가적인 테이블들과 다른 테이블 포맷들이 대안적 실시예들에 사용될 수 있다. 테이블들은 예들로서만 제공된다. 이하의 테이블들에서, 새로운 ID 레퍼런스들(UIDREF)은 하나의 객체가 다른 것과 혼동되는 것을 방지하기 위해 모든 테이블-대-테이블 링크들에 사용된다.
4.1 메소드 테이블들(인덱스 테이블)
상술한 것처럼, 메소드들은 액세스 제어 리스트들(ACLs)에 구속되고, 메소드가 실행되도록 보안 제공자가 허용하기 이전에 검증하는데 요구되는 권한들의 부울 조합들을 정의하는 액세스 제어 엘리먼트들(ACEs)을 열거한다.
테이블 1은 본 발명의 일 실시예에 따라 메소드를 ACL과 연관시키는데 사용될 수 있는 메소드 테이블의 열들을 기술한다. 메소드 테이블은 각각의 테이블과 메소드에 대해 하나의 행을 포함한다.
테이블 1: 메소드 테이블 디스크립션
인덱스 타입 디스크립션
Type Yes uidref{Table} SP 메소드들에 대해 0임. 객체 메소드들에 대해 이는 객체 테이블을 지칭함
Name Yes name UTF-8 문자들의 메소드 네임
ID uid 오토인덱스 행 식별자
CommonName name 몇가지 메소드들에 의해 공유될 수 있는 편리한 네임. 널(null)일 수 있음
Program ref{Program} 이러한 메소드에 대해 실행될 프로그램의 인코딩에 대한 포인터. 내장 메소드들에 대해 0임
ACL access_control_list 메소드에 대한 ACL
Log bytes{1} {none=0, LogSuccess=1, LogFail=2} 이러한 메소드가 실패들에 대해 성공하는지 여부 또는 둘다에 대한 로드 대 SP 로그. 이는 비트 마스크임
테이블 1에 나타낸 것처럼, 메소드 테이블의 각 행은 고유 메소드 식별자 "UID"에 의해 메소드를 식별하고, 그 메소드를 액세스 제어 리스트와 연관시킨다. 메소드 테이블은 또한 그 메소드에 대해 실행될 프로그램에 대한 포인터를 포함할 수 있다.
도 4는 테이블 1에 나타낸 포맷을 갖는 메소드 테이블(260)의 간략화된 시각적 예시를 도시한다. 헤더(261)는 테이블(260)에 대한 열들을 정의한다. 메소드 테이블(260)은 다수의 행들(262, 263)을 포함한다. 각각의 행은 특정 메소드 및 그 메소드에 대한 ACL을 식별한다. 이러한 예에서, 행(261)은 ID=GET1을 가진 Get 메소드가 단일 ACE, ACE1을 가진 액세스 제어 리스트를 갖는 것을 정의한다. 따라서, ACE1에 의해 정의되는 크리덴셜 및 인증 동작은 GET 메소드를 수행하기 위해 호스트에 의해 인증되어야 한다.
4.2 ACE 테이블(객체 테이블)
테이블 2는 본 발명의 일 실시예에 따른, 액세스 제어 엘리먼트(ACE) 테이블의 열들을 규정한다.
테이블 2: ACE 테이블 디스크립션
타입 디스크립션
ID uid 고유 오토인덱스(autoindex) ACE 식별자
Name name ACE의 네임
BooleanExpr access_control_element 참(true)일 경우 ACE를 인증하는 권한들 및/또는 권한 클래스들의 표현
RowStart uinteger{2} 이러한 ACE를 제한하는 제 1 행, 0이면 테이블의 제 1 행
RowEnd uinteger{2} 이러한 ACE를 제한하는 마지막 행, 0이면 테이블의 마지막 행
ColStart name 이러한 ACE를 제한하는 제 1 열, 널(null)이면 테이블의 제 1 열
ColEnd name 이러한 ACE를 제한하는 마지막 열, 널이면, 테이블의 마지막 열
ACE 테이블은 호스트에 의해 인증될 수 있는 각각의 ACL 엘리먼트를 가진 하나의 행을 갖는다. 상술한 것처럼, ACE 테이블은 참일 경우 ACE를 인증하는 권한들 및/또는 권한 클래스들의 표현을 제공하는, 열 명칭 "BooleanExpression"을 포 함한다.
행들 및 열들의 디폴트는 반대로 제한되지 않는 한 모든 행들 및 모든 열들이다.
4.3 권한 테이블(Authority Table)(객체 테이블)
테이블 3은 본 발명의 일 실시예에 따른, 권한 테이블의 각 행의 열들의 디스크립션을 제공한다.
테이블 3: 권한 테이블 디스크립션
타입 디스크립션
ID uid 권한 객체의 고유 식별자
Name name 권한의 네임
CommonName name 몇가지 권한들에 공통 네임
IsClass boolean 참이면, 이는 클래스 권한. 거짓이면 이는 개별 권한.
Class uidref{Authority) 선택사항임. 이러한 권한이 참여하는 클래스 권한을 지정.
Enabled boolean 거짓이면, 권한은 디스에이블되고 인증은 자동으로 실패함.
Secure boolean 권한이 보안 메시징을 요구하면 참. 이 필드는 보안 세션을 형성하는데에만 사용됨
HashAndSign hash_protocol NONE이 아니면, 부호 해쉬들은 세션 생성 동안 또는 세션 메시징을 갖도록 사용됨.
PresentCertificate boolean 권한이 공용 키 권한이고 크리덴셜이 인증서 체인을 포함하면, 권한과 함께 인증서 체인을 나타냄.
Operation authentication_method 크리덴셜을 통해 수행하는 어떤 동작(예, 교환, 암호화, SymK, HMAC, PIN, None)
CredentialTable Credential 관리자의 공용으로 판독가능한 CryptoSuite 테이블로부터 선택된 C_RSA1024와 같이, 크리덴셜 - C_* 테이블 네임의 어떤 타입.
Credential uidref{credential} 사용하기 위한 어떤 특정 크리덴셜
ResponseSign uidref{Authority} 존재하면(넌-제로이면), 다른 권한을 가진 요구되는 양방향 조건
ResponseExch uidref{Authority} 존재하면(넌-제로이면), 다른 권한을 가진 요구되는 양방향 조건
ClockStart date 주변장치가 트러스티드 날짜를 가지면 이 날짜에 개시하는 권한이 인에이블됨.날짜 신호들이 없으면 개시 제한이 없음.
ClockEnd date 주변장치가 트러스티드 날짜를 가지면 이 날짜에 개시하는 권한이 인에이블됨.날짜 신호들이 없으면 개시 제한이 없음.
Log bytes{1}{LogSuccess =1, LogFail=2} 이러한 플래그들은 이 권한이 인증될 때 발생하는 상이한 이벤트들의 로깅을 인에이블함. Log=0는 로깅이 없음. 로깅은 인증이 메소드에서 테스트될때가 아니라, 세션을 형성하거나 이에 대한 권한들을 증가시키는데 인증들이 사용될 때에만 적용가능함.
권한 테이블의 각 행은 권한이다. 권한은 크리덴셜, 및 가능하면 다른 권한들의 특정한 사용이다. 클래스 권한은 다수의 개별 권한들에 대한 레퍼런스이고 크리덴셜을 사용할 수 없다.
따라서, 권한 테이블의 각 행(권한)은 열 명칭 "Credential"을 갖고, 이러한 특정 권한에 대한 인식 검증을 인증하기 위해 사용하는 특정 크리덴셜을 식별하며 크리덴셜이 인증되는 특정 인증 동작을 식별한다.
"크리덴셜 테이블" 열은 사용되는 크리덴셜들의 특정 타입의 테이블 네임을 식별하고, "크리덴셜" 열은 사용되고 있는 크리덴셜 테이블의 특정 행을 식별한다. 예를 들어, 크리덴셜 타입이 C_RSA1024이면, 권한 테이블의 크리덴셜 열은 C_RSA 크리덴셜 테이블의 특정 행(특정 키)를 구체화한다.
4.4 인증서 데이터 테이블들(Certificate Data Tables)(바이트 테이블)
테이블 4는 본 발명의 일 실시예에 따른, 인증서 데이터 테이블의 열들의 디스크립션을 제공한다.
테이블 4: 인증서 데이터 테이블 디스크립션
타입 디스크립션
코드 인증서 인증서 또는 트러스티드 인증서 체인의 바이트들. 하나 보다 많은 인접 행을 가질 수 있음. 인증서 요구조건들에 의해 정의되는 바와 같은 X.509
인증서 데이터 테이블은 예를 들어, 공용 키를 검증하는 데이터를 위해 사용되는 데이터를 저장한다.
인증서들(객체 테이블)
테이블 5는 인증서 테이블의 각 행의 열들을 정의한다. 각각의 행은 인증서 네임 및 인증서의 바이트 코드에 대한 포인터를 갖는다.
테이블 5: 인증서 테이블 디스크립션
타입 디스크립션
ID uid 프로그램의 ID
Name name 인증서의 네임
Code ref{Certificate Data} 인증서의 바이트 코드에 대한 포인터
CodeCount uinteger{4} 인증서에 실제로 사용되는 바이트 수
4.5 크리덴셜 테이블들(객체 테이블들)
이하의 테이블들은 본 발명의 하나 이상의 실시예들에 사용될 수 있는 상이한 타입들의 크리덴셜 테이블들의 예들을 제공한다. 이러한 테이블들은 독점적이 아니며, 부가 타입들의 크리덴셜들을 구현하기 위해 부가적인 테이블들이 포함될 수 있다. 일 실시예에서, 각각의 크리덴셜 테이블은 인증 동작들로 호출되는 다수의 인식 검증 동작들 중 해당하는 것과 연관된다.
크리덴셜 테이블들은 인증 메커니즘들의 공용 및 개인용 파트들을 제공하기 위한 확장성 근간을 나타낸다. 각각의 크리덴셜 테이블은 상이한 메커니즘을 나타내고, 각각의 행은 테이블에 의해 나타낸 메커니즘을 이용하는 상이한 인증을 나타낸다.
크리덴셜 테이블들은 트러스티드 주변장치와 결코 떨어질 필요가 없는 시크릿들을 포함한다. 정상 ACE들은 인터페이스에 가해지는 공격으로부터 시크릿의 노출을 방지할 수 있다. 트러스티드 주변 전자장치들을 변경하는 공격에 대하여 보호하기 위해, 크리덴셜 테이블들은 저장 매체상에 시크릿들을 포함하는 열들을 숨기도록 트러스티드 주변장치에 알리는 하이드(Hide) 열을 가질 수 있다. 예를 들어, 시크릿들은 가능하면 저장 매체에 암호로 숨겨질 수 있다.
4.5.1 C_PIN (객체 테이블)
테이블 6은 본 발명의 일 실시예에 따른 PIN 크리덴셜 테이블의 열들을 정의한다.
테이블 6: C_PIN 테이블 디스크립션
타입 디스크립션
ID uid 패스워드의 고유 식별자
Name name 패스워드의 네임
PIN password 패스워드 스트링(string)
Hide boolean 가능하면 매체 상에서 값을 암호로 숨김
TryLimit uinteger{1} 항상 실패 이전의 실패된 시도들의 최대 수
Tries uinteger{1}= 0 실패된 시도들의 현재 수
크리덴셜 테이블 PIN,C_PIN은 패스워드를 요구하는 각각의 권한에 대해 하나의 행을 포함한다. 테이블 6은 C_PIN 테이블의 각 열의 정의를 제공한다. C_PIN 테이블의 각 행은 특정 권한에 대한 패스워드 스트링을 저장하는 열 명칭 "PIN"을 포함한다. "HIDE" 열은 가능하면 저장 매체에 패스워드 스트링을 암호로 숨기는데 사용될 수 있다.
"Tries" 열은 권한이 세션 스타트업 동안 호출되는 암호화 권한(Signing Authority)이면 명확하지 않은 인증 시도를 포함하는 모든 실패된 인증 시도 시에 주변장치에 의해 업데이트된다. "Tries" 열은 인증이 성공할 때 주변장치에 의해 제로로 설정된다. 또한, "Tries" 열은 셀에서 Set 메소드에 대해 ACE를 형성함으로써 호스트로부터 리셋될 수 있다.
4.5.2 C_RSA_1024 (객체 테이블)
테이블 7은 본 발명의 일 실시예에 따른 CRSA_1024 크리덴셜 테이블의 열들을 정의한다.
테이블 7: C_RSA_1024 테이블 디스크립션
타입 디스크립션
ID uid 고유 식별자
Name name 네임
CryptoCall name= RSA 암호 타입
CryptoLen uinteger{2} = 1024 키 길이
Pu_Exp uinteger{10} RSA 공용 지수(exponent)
Pr_Exp uinteger{10} RSA 개인용 지수
Mod uinteger{10} 계수(Modulus)
P uinteger{10} p 및 q, 키 생성으로부터 프라임들(primes)
Q uinteger{10}
Dmp1 uinteger{10} d mod(p-1) 및 d mod(q-1)(종종 dmp1 및 dmq1으로 공지됨)
Dmq1 uinteger{10} (1/q) mod p(종종 ipmp로 공지됨)
Hide boolean 가능하면 매체에 값을 암호로 숨김
ChainLimit uinteger{1} 이것으로부터 체인 다운 키(chained down key)를 이용하기 위한 체인닝(chaining) 제한 - 1은 제한이 없음을 나타내고, 체인이 없는 0은 디폴트.
Certificate uidref{Certificate} 인증서(들)- ancestor 권한을 검증하는데 필요하면 인코딩되지 않은 X.509 인증서들의 체인 세트(chained set)를 제공함
테이블 7은 1024 바이트의 키 길이를 갖는 RSA 연구소 공용-키 암호시스템을 구현한다. RSA 테이블의 공용 지수 및 개인용 지수 열들은 테이블의 각 행에 대한 공용-개인용 키 쌍을 나타낸다. 다시, RSA 개인용 지수, 계수, P 및 Q 프라임들, DMP1 및 DMQ1과 IQMP와 같은 시크릿들을 포함하는 열은 매체에 숨겨질 수 있다.
4.5.3 C_RSA_1048 (객체 테이블)
테이블 8은 본 발명의 일 실시예에 따른 C_RSA_2048 크리덴셜 테이블의 열들을 정의한다.
테이블 8: C_RSA_2048 테이블 디스크립션
타입 디스크립션
ID uid 고유 ID
Name Name 네임
CryptoCall name= RSA 암호 타입
CryptoLen uinteger{2} = 2048 키 길이
Pu_Exp uinteger{20} 공용 키
Pr_Exp uinteger{20} 개인용 키
Mod uinteger{20} 계수
p uinteger{10} p 및 q, 키 생성으로부터의 프라임들
q uinteger{10}
Dmp1 uinteger{10} d mod (p-1) 및 d mod(q-1)(종종 dmp1 및 dmq1으로 공지됨)
Dmq1 uinteger{10} (1/q) mod p (종종 iqmp로 공지됨)
Hide boolean 가능하면 매체에 값을 암호로 숨김
ChainLimit uinteger{1} 이것으로부터 체인 다운 키(chained down key)를 이용하기 위한 체인닝(chaining) 제한 - 1은 제한이 없음을 나타내고, 체인이 없는 0은 디폴트.
Certificate uidref{Certificate} 인증서(들) - ancestor 권한으로부터 암호화를 검증하는데 요구되면 인코딩되지 않은 X.509 인증서들의 세트(가능하면 체인 세트)를 제공함
테이블 8은 2048 바이트의 키 길이를 갖는 RSA 공용-키 암호시스템을 구현한다.
4.5.4 C_ES_160 (객체 테이블)
테이블 9는 본 발명의 일 실시예에 따른 C_EC_160 크리덴셜 테이블의 열들을 정의한다.
테이블 9: C_EC_160 테이블 디스크립션
타입 디스크립션
ID uid 고유 식별자
Name name 네임
CryptoCall name= EC 암호 타입
CryptoLen uinteger{2}= 160 키 길이
Hide boolean 가능하면 매체에 값을 암호로 숨김
p uinteger{20} 계수
r uinteger{20} 곡선의 정렬(order)
b uinteger{20} 곡선 계수(y2=x3-3x+b mod p)
타입 디스크립션
x uinteger{20} 베이스 포인트 좌표
y uinteger{20} 베이스 포인트 좌표
alpha uinteger{20} 개인용 키
u uinteger{20} 공용 키 x-좌표: (x, y)·α│x
v uinteger{20} 공용 키 y-좌표: (x, y)·α│y
ECDSAs uinteger{20} 해쉬 초기화 벡터
ECDSAc uinteger{32} 해쉬 메시지 블럭(PseudoRNG)
ECDSAHash1 enum{Plus-1x, SHA-1, SHA-256} ECDSA에 대한 해쉬
MQVHash1 enum{Plus-1x, SHA-1, SHA-256}
MQVHash2 enum{Plus-1x, SHA-1, SHA-256}
ChainLimit uinteger{1} 이것으로부터 체인 다운 키(chained down key)를 이용하기 위한 체인닝(chaining) 제한 - 1은 제한이 없음을 나타내고, 체인이 없는 0은 디폴트.
Certificate uidref{Certificate} 인증서(들) - ancestor 권한으로부터 암호화를 검증하는데 요구되면 인코딩되지 않은 X.509 인증서들의 세트(가능하면 체인 세트)를 제공함
테이블 9는 타원형 곡선 암호를 구현하기 위한 크리덴셜 테이블의 일 예이다.
4.5.5 C_AES_128 (객체 테이블)
테이블 10은 본 발명의 일 실시예에 따른 C_AES_128 크리덴셜 테이블의 열들을 정의한다.
테이블 10: C_AES_128 테이블 디스크립션
타입 디스크립션
ID uid 고유 식별자
Name name 네임
CryptoCall name= AES 암호 타입
CryptoLen uinteger{2} = 128 키 길이
Key uinteger{16}
Hash hash_protocol 해슁이 요구될 때, 이것은 해슁 알고리즘을 선택함.
Hide boolean 가능할 때 매체에 값을 암호로 숨김
테이블 10은 128 바이트 대칭 키를 갖는 개선된 암호화 표준을 구현한다. 다시, 상기 키는 가능할 때 매체에 암호로 숨겨질 수 있다.
상술한 것처럼, 메소드 테이블, Ace 테이블, 권한 테이블, 크리덴셜 테이블 들의 세트, 및 주변장치의 각 SP의 다른 관련 테이블들과 같은 액세스 제어 테이블들은 주변장치에 의해 액세스가능하거나 주변장치와 연동되는 물리적 메모리 장치에 (전체적으로 또는 부분적으로) 저장된다. 호스트는 SP와 유사한 세트의 권한 및 크리덴셜 테이블들을 포함할 것이다. 호스트에 의해 액세스가능하거나 호스트와 연동되는 임의의 메모리에 전체적으로 또는 부분적으로 저장될 수 있다. 그러나, 호스트의 권한 테이블 및 크리덴셜 테이블들에 저장되는 정보는 SP의 테이블들에 저장된 정보의 부분만을 포함할 수 있다. 예를 들어, 호스트 크리덴셜 테이블은 공용-개인용 키 쌍의 공용 파트만을 포함할 수 있다. 이것은 호스트가 정확한 권한 동작을 요청할 수 있도록 하고 주변장치의 SP에 의한 검토를 위해 해당 크리덴셜을 제공하도록 한다.
5. 세션(SESSION)
본 발명의 일 실시예에서, SP와의 모든 통신들은 세션 동안 발생한다. 세션은 예를 들어, 호스트에 의해 항상 개시된다. 일반적으로 호스트 애플리케이션은 그 통신을 종료했을 때 세션을 종료하지만, SP 또는 호스트가 임의의 이유로 임의의 시간에서 세션을 종료(abort)할 수 있다. 특정 SP에 대해, 예를 들어, 동시에 활성인 임의의 수의 판독 세션들 및 하나의 기록 세션이 있을 수 있다. 판독 및 기록 세션들은 상호 배타적이다. 구현은 임의의 SP에 대한 동시적인 판독 세션들의 수, 및/또는 주변장치에 이용가능한 개방 세션들의 전체 수를 제한할 수 있다.
메소드들은 테이블들 또는 SP들에서 동작하는 프로시저들이고, SP에 대한 세션 내에서 호출된다. 호출자는 파라미터 값들의 리스트를 메소드로 통과시키고, 메소드는 결과 값들의 리스트를 리턴시킨 다음 uinteger 상태 코드가 후속된다. 주어진 세션내에서 단지 하나의 메소드가 한번에 활성일 수 있다. SP에 대한 각각의 세션은 데이터가 인코딩되는 바이트들의 적어도 2개의 스트림들을 갖는다. 하나의 스트림은 호스트로부터 SP로 가고, 다른 스트림은 SP로부터 호스트로 간다.
메소드 호출들, 이들의 파라미터들, 및 이들의 결과값들은 세션 스트림들에 대해 송수신된다. 각각의 스트림은 모든 다른 스트림들로부터 비동기식으로 동작된다. 전형적인 호스트 메소드 호출들은 임의의 결과값들을 판독하려는 시도 이전에 모든 이들의 파라미터들/데이터를 SP로 전송하지만, SP는 그 파라미터들을 소비함에 따라 점증적으로 결과값들을 자유롭게 생성한다. 유사하게, 호스트는 파라미터들을 전송하면서 SP 결과값들을 자유롭게 판독하려고 시도한다. SP 구현은 메소드 호출(들)의 시맨틱들(semantics)이 손상되지 않는 한, 동기식 또는 비동기식인지를 결정한다.
트랜잭션들(transactions)은 SP에 대한 변화들이 어떻게 영향을 받는지에 대한 완전한 모델을 제공하는데 사용된다. 트랜잭션들은 또한 호스트 애플리케이션이 에러 복구를 처리하기 위한 용이한 방법을 제공한다. SP에 대한 모든 변환들은 트랜잭션의 범주내에서 발생한다. 세션이 SP로 개방될 때, 트랜잭션은 자동적으로 개시된다. 세션이 폐쇄될 때, 그 트랜잭션이 폐쇄된다. 세션이 종료(abort)되면, 트랜잭션은 종료된다. 세션이 성공적으로 폐쇄되면, 트랜잭션은 영구적인 저장으로 맡겨진다(committed). 세션이 폐쇄되고 맡겨질 때만이 그 변화들이 영구적으로 이루어진다(매체에 대해, 동일한 SP에서 후속 세션들에 보일 수 있게 되는 등). 주변장치의 다른 특징들의 임의의 효과들(즉, 하드웨어 설정들)은 세션이 성공적으로 맡겨지지 않으면 그 때까지 발생하지 않는다. 중첩된(nested) 트랜잭션들이 폐쇄(committed 또는 aborted)되기 이전에 세션이 종료되면, 모든 트랜잭션들은 종료되고 세션이 종료된다.
메소드 호출은 이하의 단계들을 포함한다:
a. 호스트는 SP에게 호출하기 원하는 메소드를 알린다;
b. 호스트는 파라미터들의 리스트를 SP에게 전송한다;
c. 메소드의 바디는 SP에서 실행된다; 및
d. SP로부터 호스트로 메소드 결과값들이 리턴된다.
단계 2-4는 입력 및 출력이 점증적으로 스트리밍될 때 반복될 수 있다.
세션의 개시는 예를 들어 3개의 독립적인 요구조건들에 좌우된다:
a. 주변장치 및 충분한 리소스들을 갖는 요청된 SP;
b. 보안 메시징이 요구되면 대칭 키들을 결정(negotiating); 및
c. 인증 요구조건들(예를 들어, 이하의 것들 중 하나):
호스트는 SP에 대해 인증해야 한다;
SP는 호스트에 대해 인증해야 한다;
위의 둘다; 및
위의 둘다 아님(인증 없음).
제 1 요구조건인 충분한 리소스들은 종종 시간-의존적이어서, 세션이 이러한 이유로 개시하는데 실패하면, 재시도 이전에 짧은 지연이 필요할 수 있다. 호스트 는 이하에서 기술되는 것처럼, 세션을 개시하려고 시도할 때 제 2 및 제 3 요구조건을 설정한다.
세션을 개시하는 호스트 애플리케이션은 예를 들어 이하와 같은 4개까지의 권한들을 특정함으로써 보안 메시징 및 충족될 인증 요구조건들을 결정한다:
HostExchangeAuthority: 호스트의 교환 키 - 및 암시적(implicit) 인증
HostSigningAuthority: 호스트의 암호화 키 - 호스트를 SP로 인증하기 위해 사용됨
SPExchangeAuthority: SP의 교환 키 - 및 암시적 인증
SPSigningAuthority: SP의 암호화 키 - SP를 호스트로 인증하기 위해 사용됨.
유의: 이러한 권한들은 이미 SP에 공지되어 있음.
사용시 호스트 권한들은 StartSession 메소드 호출에서 통과된다. SP 권한들은 호스트 권한들의 권한 테이블 행들로부터 호출된 양방향 권한들(bilateral authorities)이다. 권한 테이블에서 권한들의 링킹(linking)과 결합되는, StartSession 메소드 호출에서 권한들을 특정하는 능력은 보안 메시징을 포함하는 가능한 세션 프로토콜들의 크고 다양한 세트를 제공한다. 어떤 프로토콜이 후속될 것인지를 결정하는 것은 호스트에 의한 권한들의 초기 선택이다.
호스트가 StartSession 메소드 호출을 형성할 때, 어떤 SPExchangeAuthority 및 SPSigningAuthority(있다면)를 SP가 사용할 것인지를 인식한다. 이들은 호스트가 최종적인 유효 권한을 인식하지 못하는 인증서 체인의 루트(root) 권한들일 수 있다. 이는 SP가 인증서들을 SyncSession의 부분으로서 호스트에 리턴시킬 수 있는 이유이다.
HostSigningAuthority 또는 SPSigningAuthority가 PuK, SymK, 및 HMAC 권한들에 대한 경우처럼, 요구-응답(Challenge-Response)를 요구하면, 또는 보안 메시징이 사용되면(또는 둘다의 경우), StartSession 및 SyncSession 메소드들 다음에 StartTrustedSession 및 SyncTrustedSession 메소드들이 후속된다.
또한 공용 키 권한(공용 키 크리덴셜들을 가진 권한--PuK)인 권한(HostExchangeAuthority, SPExchangeAuthority, HostSigningAuthority, 또는 SPSigningAuthority)은 인증서 또는 인증서 체인의 형태로 제공되는 부가적인 정보를 가질 수 있다. 이 경우, 유효 권한(요구에 응답하는 것)은 상기 체인의 테일(tail) PuK일 것이다. 유효 권한은 세션에 대해 일시적(transient)이다. SP로 전송되는 유효 권한, 그 인증서 체인의 전체 컨텐츠는 세션 동안에만 이용가능할 것이다. 일 실시예에서, 호스트가 권한이 SP에 지속적으로 통과하는 것을 원한다면 SP의 새로운 권한을 생성할 필요가 있다(기록 세션에서).
세션을 개시하는 많은 가능한 방법들 중에서 7개의 예들은 다음을 포함한다:
a. None. 권한들이 사용되지 않는다. 이것은 비-인증되고, 비-보안 메시징 세션이다.
b. Host-PIN. 이것은 클리어(clear)로 통과되는 패스코드 인증의 기본(rudimentary) 경우이다. 보안 메시징은 이 경우 선택사항이 아니다.
c. SP-SymK-Exch. 전체 호스트&SP 세션 키 암호화를 위해 제공하는 가장 간 단한 경우. SP는 대칭 암호화만을 수행할 필요가 있다.
d. Full-PuK. 이는 호스트 애플리케이션 및 SP 둘다에 대해, 암호화 및 키 교환을 위한 공용 키들을 사용한다. 적절한 인증서 체인 또는 교환 키를 위한 다른 유효 검증과 함께, 이것도 인증된다. SP 발행은 Full-Puk가 사용되는 일 예이다.
e. Full-SymK. 이것은 호스트 애플리케이션 및 SP 둘다에 대해, 암호화 및 키 교환을 위한 SymK 키들을 사용한다.
f. Host-Puk-Authentication. 이것은 보안 메시징을 기동하지 않는 간단하고 강력한 인에이블러(enabler)이다. 한가지 사용 예는 디스크 드라이브의 판독/기록 기능들을 잠금해제하기 위해 세션을 인증하고 일회성인 개인용 키 때문에 보안 채널을 필요로 하지 않는 TCG TPM일 수 있다.
g. Host-PuK-SP-SymK. 이것은 SP 사인인 것이 바람직하지만, 공용 키 암호화, 및 공용 키 암호화의 사실상 모든 개인용 키 동작들이 SP에 대해 계산상 너무 비싸다고 가정되는 경우이다. 호스트 애플리케이션은 PuK 사인 및 SP 대 PuK 검증에 허용되고, PuK는 세션 키를 암호화한다. 그러나, SP는 단지 SymK 사인들이고, SymK 세션 키 수신을 수행한다.
6. 예제
도 5는 호스트(202)와 주변장치(204) 사이의 패스코드 인증을 구현하는 세션의 일 예를 도시하는 도면이다. 명확화를 위해 단지 보안 관련 파라미터들만이 도 5에 도시된다. 호스트는 StartSession 메소드를 호출하고 SPName, HostChallenge 및 HostSigningAuthority를 포함하는 파라미터들을 통과시킴으로써, 주변장치(202)와 통신을 시작한다. 이 경우, HostChallege는 호스트 PIN을 포함한다.
주변장치는 메소드 호출을 수신하고, 상기 메소드에 대한 ACL을 식별하기 위해 네임 지정된(named) SP(SPName)의 메소드 테이블을 검색하며, ACE 테이블(상기에서 테이블 2)로부터 결과적인 ACE 및 권한들의 부울 표현을 식별한다. HostSigningAuthority가 유효하지 않으면(즉, 식별된 ACE 테이블에서 권한들의 부울 조합을 충족시키지 않으면), 주변장치는 세션을 종료한다.
만약 유효하면, 주변장치는 권한 테이블(예, 상기에서 테이블 3)로부터 호출된 HostSigningAuthority의 연관된 크리덴셜을 식별하고, 연관된 크리덴셜 테이블(예, 상기에서 테이블 6)로부터 식별된 크리덴셜을 검색한다. 주변장치는 HostChallenge(예, PIN)가 호출된 HostSigningAuthority의 크리덴셜 PIN과 동일한지를 검증한다. 만약 동일하지 않으면, 주변장치는 세션을 종료한다. 만약 동일하면, 주변장치는 예를 들어 SyncSession 메소드를 호출함으로써, 호출된 메소드를 인증한다.
7. 결론
액세스 제어 시스템은 임의의 컴퓨터 판독가능한 매체상에서 전체적으로 또는 부분적으로 구현될 수 있고, 주변장치 및/또는 호스트와 연동되는 다양한 메모리 및 저장 장치들에서 다양한 시간에 존재하는 하나 이상의 명령어들 또는 데이터베이스들을 포함할 수 있다. 호스트 또는 주변장치에 의해 판독 및 실행될 때, 명령어들은 호스트 또는 디바이스가 본 발명의 다양한 특징들을 이용하는 데이터베이 스들 또는 테이블들을 처리 및/또는 명령어들을 수행하도록 한다. 이러한 명령어들, 테이블들, 객체들 및/또는 계수들이 저장될 수 있는 컴퓨터 판독가능한 매체의 예들은 이에 제한됨이 없이, 다른 것들 중에서, 휘발성 및 비휘발성 메모리 장치들, 플로피 및 다른 제거가능한 디스크들, 하드 디스크 드라이브들, CD-ROM, DVD 등과 같은 광 디스크들과 같은, 기록가능한 타입의 매체를 포함하고, 디지털 및 아날로그 통신 링크들과 같은 전송 타입 매체를 포함한다.
본 발명의 다양한 실시예들의 많은 특징들과 장점들이 본 발명의 다양한 실시예들의 구조 및 기능의 세부사항들과 함께 전술한 상세한 설명에서 기술되었지만, 본 명세서는 단지 예시적인 것으로서, 세부사항들에 변화들이 이루어질 수 있고, 특히 본 발명의 원리들내에 있는 부품들의 구조 및 배치의 문제들에서, 첨부된 청구범위가 표현하는 용어들의 넓은 일반적 의미로 나타낸 완전한 정도까지 세부사항들에 변화들이 이루어질 수 있다는 것이 이해되어야 한다. 예를 들어, 특정 엘리먼트들은 본 발명의 사상과 범주를 벗어남이 없이, 동일하거나 유사한 기능성을 실질적으로 유지하면서 액세스 제어 시스템을 위한 특정 애플리케이션에 따라 가변될 수 있다. 또한, 본 발명에서 기술되는 실시예들은 주변장치에 대한 액세스 제어 시스템에 관한 것이지만, 본 발명의 사상과 범주를 벗어남이 없이, 본 발명의 특징들은 디바이스의 리소스 또는 피쳐에 대한 액세스가 제어되는 임의의 장치에 적용될 수 있다는 것이 통상의 당업자에 의해 고려될 것이다.
본 발명에 의하면, 증가된 다양성과 많은 상이한 인증 프로토콜들로의 확장 성을 제공하는 개선된 액세스 제어 시스템들과 방법들을 제공할 수 있는 효과가 있다.

Claims (20)

  1. 액세스 제어 시스템으로서,
    다수의 권한들(authorities) - 각각의 권한은 다수의 인식 검증 동작들(proof of knowledge operations) 중 적어도 하나를 다수의 인식 검증 크리덴셜들(credentials) 중 적어도 하나와 연관시킴 -;
    다수의 액세스 제어 엘리먼트들 - 각각의 액세스 제어 엘리먼트는 상기 권한들 중 적어도 하나의 부울(Boolean) 조합을 식별함 -; 및
    실행될 메소드(method)가 인증될 수 있는 하나 이상의 상기 액세스 제어 엘리먼트들을 식별하는 적어도 하나의 액세스 제어 리스트
    를 포함하는 액세스 제어 시스템.
  2. 제 1 항에 있어서,
    상기 다수의 권한들, 상기 다수의 액세스 제어 엘리먼트들 및 상기 액세스 제어 리스트는 상기 액세스 제어 시스템에 의해 액세스가 제어되는 주변장치 내에 내장된 펌웨어에 의해 유지되는 것을 특징으로 하는 액세스 제어 시스템.
  3. 제 1 항에 있어서,
    상기 연관된 인식 검증 동작에 의해 검증될 수 있는 상기 인식 검증 크리덴셜들의 세트를 식별하는 크리덴셜 테이블을 더 포함하는 것을 특징으로 하는 액세 스 제어 시스템.
  4. 제 3 항에 있어서,
    다수의 크리덴셜 테이블들을 더 포함하고, 각각의 크리덴셜 테이블은 상기 인식 검증 동작들 중 해당하는 인식 검증 동작과 연관되는 것을 특징으로 하는 액세스 제어 시스템.
  5. 제 1 항에 있어서,
    상기 다수의 권한들을 각각 식별하고, 각각의 권한에 대해 상기 인식 검증 동작들 중 하나를 상기 인식 검증 크리덴셜들 중 하나와 연관시키는 권한 테이블(authority table)을 더 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  6. 제 1 항에 있어서,
    각각의 상기 다수의 액세스 제어 엘리먼트들을 식별하고, 각각의 엘리먼트에 대해, 상기 액세스 제어 엘리먼트에 대한 상기 권한들의 부울 조합을 식별하는 액세스 제어 엘리먼트 테이블을 더 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  7. 제 1 항에 있어서,
    다수의 메소드들 중 상기 메소드를 식별하고, 각각의 메소드에 대해 상기 메 소드에 대한 상기 액세스 제어 리스트를 식별하는 메소드 테이블을 더 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  8. 제 7 항에 있어서,
    각각의 메소드에 대해, 상기 메소드 테이블은 상기 메소드에 대해 실행될 프로그램에 대한 포인터(pointer)를 더 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  9. 액세스 제어 시스템으로서,
    다수의 인식 검증 동작들 중 적어도 하나에 의해 검증될 수 있는 다수의 인식 검증 크리덴셜들을 포함하는 크리덴셜 테이블;
    다수의 권한들을 식별하고, 각각의 권한에 대해, 상기 인식 검증 동작들 중 적어도 하나를 상기 인식 검증 크리덴셜들 중 적어도 하나와 연관시키는 권한 테이블; 및
    다수의 액세스 제어 엘리먼트들을 식별하고, 각각의 액세스 제어 엘리먼트에 대해, 상기 권한들 중 적어도 하나의 부울 조합을 식별하는 액세스 제어 엘리먼트 테이블
    을 포함하는 액세스 제어 시스템.
  10. 제 9 항에 있어서,
    다수의 크리덴셜 테이블들을 더 포함하고, 각각의 크리덴셜 테이블은 상기 다수의 인식 검증 동작들 중 해당하는 인식 검증 동작과 연관되며, 상기 인식 검증 동작에 의해 검증될 수 있는 상기 다수의 인식 검증 크리덴셜들을 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  11. 제 9 항에 있어서,
    실행될 수 있는 다수의 메소드들을 식별하고, 각각의 메소드에 대해, 상기 메소드가 인증될 수 있는 상기 액세스 제어 엘리먼트들의 서브세트의 리스트를 식별하는 메소드 테이블을 더 포함하는 것을 특징으로 하는 액세스 제어 시스템.
  12. 제 9 항에 있어서,
    상기 크리덴셜 테이블, 상기 권한 테이블 및 상기 액세스 제어 엘리먼트 테이블은 상기 액세스 제어 시스템에 의해 액세스가 제어되는 주변장치 내에 내장된 펌웨어에 의해 유지되는 것을 특징으로 하는 액세스 제어 시스템.
  13. 다수의 권한들을 유지시키는 단계 - 각각의 권한은 다수의 인식 검증 동작들 중 적어도 하나를 다수의 인식 검증 크리덴셜들 중 적어도 하나와 연관시킴 -; 및
    다수의 액세스 제어 엘리먼트들을 유지시키는 단계 - 각각의 액세스 제어 엘리먼트는 상기 권한들 중 적어도 하나의 부울 조합을 식별하고, 상기 다수의 권한들 및 상기 다수의 액세스 제어 엘리먼트들은 액세스가 제어되는 디바이스와 연동 되는 메모리 내에 적어도 부분적으로 유지됨 -
    를 포함하는 방법.
  14. 제 13 항에 있어서,
    상기 다수의 권한들 및 상기 다수의 액세스 제어 엘리먼트들은 상기 디바이스의 펌웨어 내에 적어도 부분적으로 내장되는 것을 특징으로 하는 방법.
  15. 제 13 항에 있어서,
    상기 다수의 인식 검증 동작들 중 적어도 하나에 의해 검증될 수 있는 다수의 인식 검증 크리덴셜들을 포함하는 크리덴셜 테이블을 유지시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제 15 항에 있어서,
    상기 크리덴셜 테이블을 유지시키는 단계는 다수의 크리덴셜 테이블들을 유지시키는 단계를 포함하고, 각각의 크리덴셜 테이블은 상기 다수의 인식 검증 동작들 중 해당하는 인식 검증 동작과 연관되며 상기 인식 검증 동작에 의해 검증될 수 있는 상기 다수의 인식 검증 크리덴셜들을 포함하는 것을 특징으로 하는 방법.
  17. 제 13 항에 있어서,
    상기 다수의 권한들을 유지시키는 단계는, 상기 다수의 권한들을 식별하고 각각의 권한에 대해, 상기 인식 검증 동작들 중 하나를 상기 인식 검증 크리덴셜들 중 하나와 연관시키는 권한 테이블을 유지시키는 단계를 포함하는 것을 특징으로 하는 방법.
  18. 제 13 항에 있어서,
    상기 다수의 액세스 제어 엘리먼트들을 유지시키는 단계는, 상기 다수의 액세스 제어 엘리먼트들을 식별하고 각각의 액세스 제어 엘리먼트에 대해 상기 권한들 중 적어도 하나의 부울 조합을 식별하는 액세스 제어 엘리먼트 테이블을 유지시키는 단계를 포함하는 것을 특징으로 하는 방법.
  19. 제 13 항에 있어서,
    실행될 수 있는 다수의 메소드들을 식별하고, 각각의 메소드에 대해, 상기 메소드가 인증될 수 있는 상기 액세스 제어 엘리먼트들의 서브세트의 리스트를 식별하는 메소드 테이블을 유지시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  20. 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스가 하기의 단계들을 수행하도록 하는 명령어들을 포함하는 감각형 컴포넌트(tangible component)를 갖는 컴퓨터 판독가능한 매체로서, 상기 단계들은,
    다수의 권한들을 유지시키는 단계 - 각각의 권한은 다수의 인식 검증 동작들 중 적어도 하나를 다수의 인식 검증 크리덴셜들 중 적어도 하나와 연관시킴 -; 및
    다수의 액세스 제어 엘리먼트들을 유지시키는 단계 - 각각의 액세스 제어 엘리먼트는 상기 권한들 중 적어도 하나의 부울 조합을 식별하고, 상기 다수의 권한들 및 상기 다수의 액세스 제어 엘리먼트들은 액세스가 제어되는 디바이스와 연동되는 메모리 내에 적어도 부분적으로 유지됨 -
    를 포함하는 컴퓨터 판독가능한 매체.
KR1020070040214A 2006-04-25 2007-04-25 다용도 액세스 제어 시스템 KR20070105272A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/410,702 US8429724B2 (en) 2006-04-25 2006-04-25 Versatile access control system
US11/410,702 2006-04-25

Publications (1)

Publication Number Publication Date
KR20070105272A true KR20070105272A (ko) 2007-10-30

Family

ID=38620972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070040214A KR20070105272A (ko) 2006-04-25 2007-04-25 다용도 액세스 제어 시스템

Country Status (3)

Country Link
US (1) US8429724B2 (ko)
KR (1) KR20070105272A (ko)
SG (1) SG136923A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140051350A (ko) * 2011-08-25 2014-04-30 마이크로소프트 코포레이션 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925894B2 (en) * 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
US20040103325A1 (en) * 2002-11-27 2004-05-27 Priebatsch Mark Herbert Authenticated remote PIN unblock
US7539890B2 (en) 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8028166B2 (en) 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US8274401B2 (en) * 2006-12-22 2012-09-25 Acterna Llc Secure data transfer in a communication system including portable meters
US9122895B2 (en) 2008-06-25 2015-09-01 Microsoft Technology Licensing, Llc Authorization for transient storage devices with multiple authentication silos
US20090327634A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Secure configuration of transient storage devices
US8387135B2 (en) * 2009-01-05 2013-02-26 Honeywell International Inc. Method and apparatus for maximizing capacity of access controllers
US9032058B2 (en) * 2009-03-13 2015-05-12 Assa Abloy Ab Use of SNMP for management of small footprint devices
EP2406749B1 (en) * 2009-03-13 2018-06-13 Assa Abloy Ab Transfer device for sensitive material such as a cryptographic key
US8474026B2 (en) * 2009-03-13 2013-06-25 Assa Abloy Ab Realization of access control conditions as boolean expressions in credential authentications
US8566603B2 (en) 2010-06-14 2013-10-22 Seagate Technology Llc Managing security operating modes
KR20120054839A (ko) * 2010-11-22 2012-05-31 삼성전자주식회사 계층 구조 기반의 데이터 접근 제어 장치 및 방법
US9171174B2 (en) 2013-11-27 2015-10-27 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for verifying user data access policies when server and/or user are not trusted
CN106656476B (zh) * 2017-01-18 2020-12-01 腾讯科技(深圳)有限公司 一种密码保护方法、装置及计算机可读存储介质
CN113949664B (zh) * 2020-07-15 2023-04-07 瑞昱半导体股份有限公司 用于网络装置中的电路及分组处理方法

Family Cites Families (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3576544A (en) 1968-10-18 1971-04-27 Ibm Storage protection system
US3890601A (en) 1974-03-11 1975-06-17 Philco Ford Corp Password operated system for preventing unauthorized or accidental computer memory alteration
GB1561482A (en) 1976-11-18 1980-02-20 Ibm Protection of data processing system against unauthorised programmes
US4442484A (en) 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4593384A (en) * 1984-12-21 1986-06-03 Ncr Corporation Security device for the secure storage of sensitive data
US5101374A (en) 1988-05-19 1992-03-31 The United States Of America As Represented By The Director Of The National Security Agency Secure, fast storage and retrieval without interactive checking
JPH0241550A (ja) 1988-08-01 1990-02-09 Nec Corp データ処理装置
US5603000A (en) * 1989-05-15 1997-02-11 Dallas Semiconductor Corporation Integrated circuit memory with verification unit which resets an address translation register upon failure to define one-to-one correspondences between addresses and memory cells
US5022077A (en) 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
US5012514A (en) 1990-06-26 1991-04-30 Paul Renton Hard drive security system
US5027401A (en) 1990-07-03 1991-06-25 Soltesz John A System for the secure storage and transmission of data
DE69113181T2 (de) 1990-08-31 1996-05-02 Ibm Verfahren und Gerät zur Querteilungssteuerung in einer verteilten Verarbeitungsumgebung.
US5504814A (en) 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5164988A (en) * 1991-10-31 1992-11-17 International Business Machines Corporation Method to establish and enforce a network cryptographic security policy in a public key cryptosystem
JPH05134895A (ja) 1991-11-15 1993-06-01 Fuji Facom Corp トレースデータ格納管理方式
AU3777593A (en) 1992-02-26 1993-09-13 Paul C. Clark System for protecting computers via intelligent tokens or smart cards
US5432939A (en) 1992-05-27 1995-07-11 International Business Machines Corp. Trusted personal computer system with management control over initial program loading
US5600805A (en) 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
WO1995016238A1 (en) 1993-12-06 1995-06-15 Telequip Corporation Secure computer memory card
US5651139A (en) 1993-12-23 1997-07-22 International Business Machines Corporation Protected system partition read/write access on a SCSI controlled DASD
US5394469A (en) 1994-02-18 1995-02-28 Infosafe Systems, Inc. Method and apparatus for retrieving secure information from mass storage media
US6219726B1 (en) 1994-07-27 2001-04-17 International Business Machines Corporation System for providing access protection on media storage devices by selecting from a set of generated control parameters in accordance with application attributes
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5644444A (en) 1995-03-10 1997-07-01 Iomega Corporation Read/write protect scheme for a disk cartridge and drive
US5757915A (en) 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
US7600129B2 (en) * 1995-10-02 2009-10-06 Corestreet, Ltd. Controlling access using additional data
JP3764961B2 (ja) 1995-11-30 2006-04-12 カシオ計算機株式会社 シークレットデータ記憶装置及びシークレットデータの読み出し方法
US5815665A (en) * 1996-04-03 1998-09-29 Microsoft Corporation System and method for providing trusted brokering services over a distributed network
US5889941A (en) * 1996-04-15 1999-03-30 Ubiq Inc. System and apparatus for smart card personalization
US5809546A (en) 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5892899A (en) 1996-06-13 1999-04-06 Intel Corporation Tamper resistant methods and apparatus
KR100205539B1 (ko) 1996-07-19 1999-07-01 윤종용 하드디스크의 중첩 분할 방법
JP2982702B2 (ja) 1996-08-30 1999-11-29 日本電気株式会社 ディスク装置
US5892902A (en) 1996-09-05 1999-04-06 Clark; Paul C. Intelligent token protected system with network authentication
JPH1097445A (ja) 1996-09-19 1998-04-14 Kokusai Electric Co Ltd ロギング管理方法及びロギング用時計及び情報処理装置
JP3391990B2 (ja) 1996-09-19 2003-03-31 株式会社日立国際電気 ロギング管理方法及びロギング用時計及び情報処理装置
US5969632A (en) 1996-11-22 1999-10-19 Diamant; Erez Information security method and apparatus
US6182222B1 (en) 1997-03-25 2001-01-30 Electronic Data Systems Corporation Secure data storage system and method
US6157984A (en) 1997-05-15 2000-12-05 Seagate Technology, Llc Integrated controller/processor for disc drive having direct memory access
US6088802A (en) * 1997-06-04 2000-07-11 Spyrus, Inc. Peripheral device with integrated security functionality
US6175924B1 (en) 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
GB9713094D0 (en) 1997-06-21 1997-08-27 Philips Electronics Nv Optical disc drive
CN1158604C (zh) 1997-08-28 2004-07-21 西加特技术有限责任公司 盘片驱动器以及将信息存储在驱动器盘片上的方法
US6269409B1 (en) 1997-09-02 2001-07-31 Lsi Logic Corporation Method and apparatus for concurrent execution of operating systems
US5991414A (en) 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
US6772419B1 (en) 1997-09-12 2004-08-03 Hitachi, Ltd. Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS
US6226744B1 (en) * 1997-10-09 2001-05-01 At&T Corp Method and apparatus for authenticating users on a network using a smart card
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
JP3272283B2 (ja) * 1997-11-14 2002-04-08 富士通株式会社 電子データ保管装置
GB2331821A (en) * 1997-11-27 1999-06-02 Northern Telecom Ltd Electronic sealed envelope
JPH11161552A (ja) * 1997-11-28 1999-06-18 Fujitsu Ltd 可換記憶媒体のデータ保護方法及び、これを適用した記憶装置
US6173402B1 (en) 1998-03-04 2001-01-09 International Business Machines Corporation Technique for localizing keyphrase-based data encryption and decryption
US6330653B1 (en) 1998-05-01 2001-12-11 Powerquest Corporation Manipulation of virtual and live computer storage device partitions
US6141752A (en) 1998-05-05 2000-10-31 Liberate Technologies Mechanism for facilitating secure storage and retrieval of information on a smart card by an internet service provider using various network computer client devices
US6092202A (en) 1998-05-22 2000-07-18 N*Able Technologies, Inc. Method and system for secure transactions in a computer system
US6438690B1 (en) * 1998-06-04 2002-08-20 International Business Machines Corp. Vault controller based registration application serving web based registration authorities and end users for conducting electronic commerce in secure end-to-end distributed information system
US6715073B1 (en) * 1998-06-04 2004-03-30 International Business Machines Corporation Secure server using public key registration and methods of operation
US6336187B1 (en) * 1998-06-12 2002-01-01 International Business Machines Corp. Storage system with data-dependent security
GB9812836D0 (en) 1998-06-16 1998-08-12 Ncr Int Inc Data security arrangement
US6044349A (en) 1998-06-19 2000-03-28 Intel Corporation Secure and convenient information storage and retrieval method and apparatus
CA2335600A1 (en) 1998-06-22 1999-12-29 Charles T. Gambetta Virtual data storage (vds) system
US6134662A (en) 1998-06-26 2000-10-17 Vlsi Technology, Inc. Physical layer security manager for memory-mapped serial communications interface
ES2274557T3 (es) * 1998-08-31 2007-05-16 Irdeto Access B.V. Sistema para proporcionar datos encriptados, sistema para desencriptar datos encriptados y metodo para proporcionar una interfaz de comunicaciones en dicho sistema desencriptador.
US6820063B1 (en) * 1998-10-26 2004-11-16 Microsoft Corporation Controlling access to content based on certificates and access predicates
US6138239A (en) * 1998-11-13 2000-10-24 N★Able Technologies, Inc. Method and system for authenticating and utilizing secure resources in a computer system
US6691226B1 (en) 1999-03-16 2004-02-10 Western Digital Ventures, Inc. Computer system with disk drive having private key validation means for enabling features
US6468160B2 (en) * 1999-04-08 2002-10-22 Nintendo Of America, Inc. Security system for video game system with hard disk drive and internet access capability
US7085931B1 (en) * 1999-09-03 2006-08-01 Secure Computing Corporation Virtual smart card system and method
JP2001175354A (ja) 1999-12-15 2001-06-29 Nec Corp 日付・時刻管理方式およびそのプログラム記録媒体
US6836853B1 (en) * 1999-12-31 2004-12-28 Intel Corporation Non-volatile memory based monotonic counter
US6691198B1 (en) 2000-03-30 2004-02-10 Western Digital Ventures, Inc. Automatically transmitting scheduling data from a plurality of storage systems to a network switch for scheduling access to the plurality of storage systems
CA2305249A1 (en) 2000-04-14 2001-10-14 Branko Sarcanin Virtual safe
FR2810138B1 (fr) 2000-06-08 2005-02-11 Bull Cp8 Procede de stockage securise d'une donnee sensible dans une memoire d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
US6892383B1 (en) 2000-06-08 2005-05-10 International Business Machines Corporation Hypervisor function sets
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US6871278B1 (en) * 2000-07-06 2005-03-22 Lasercard Corporation Secure transactions with passive storage media
US6889329B1 (en) * 2000-07-28 2005-05-03 Sun Microsystems, Inc. Adding secure external virtual memory to smart cards
US7155616B1 (en) * 2000-07-31 2006-12-26 Western Digital Ventures, Inc. Computer network comprising network authentication facilities implemented in a disk drive
JP2002100118A (ja) 2000-09-21 2002-04-05 Toyoji Mukoyama 記録録画録音再生中でも任意の位置から記録再生可能な記録録画録音再生装置
US6650492B2 (en) 2000-09-28 2003-11-18 Seagate Technology Llc Self-contained disc drive write authentication test
JP2002166042A (ja) * 2000-12-01 2002-06-11 Hitachi Ltd Icカードシステム、このシステムに使用される端末、icカード及び返品処理方法
JP2002229806A (ja) 2001-02-02 2002-08-16 Hitachi Ltd 計算機システム
US6707548B2 (en) * 2001-02-08 2004-03-16 Array Bioscience Corporation Systems and methods for filter based spectrographic analysis
US7046805B2 (en) * 2001-03-20 2006-05-16 Digeo, Inc. System and method for efficiently storing and processing multimedia content
US20020157010A1 (en) 2001-04-24 2002-10-24 International Business Machines Corporation Secure system and method for updating a protected partition of a hard drive
US6915402B2 (en) * 2001-05-23 2005-07-05 Hewlett-Packard Development Company, L.P. Method and system for creating secure address space using hardware memory router
JP3865629B2 (ja) 2001-07-09 2007-01-10 株式会社ルネサステクノロジ 記憶装置
US20060174352A1 (en) * 2001-07-25 2006-08-03 Seagate Technology Llc Method and apparatus for providing versatile services on storage devices
US7036020B2 (en) 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US6941405B2 (en) * 2001-08-21 2005-09-06 02Micro International Limited System and method capable of offloading converter/controller-specific tasks to a system microprocessor
US7904504B2 (en) * 2001-10-31 2011-03-08 Hewlett-Packard Development Company, L.P. Policy enforcement and access control for distributed networked services
US6854039B1 (en) 2001-12-05 2005-02-08 Advanced Micro Devices, Inc. Memory management system and method providing increased memory access security
US6647481B1 (en) 2002-01-31 2003-11-11 Western Digital Ventures, Inc. Method for accessing data storage locations having addresses within a hidden logical address range
US7114051B2 (en) * 2002-06-01 2006-09-26 Solid State System Co., Ltd. Method for partitioning memory mass storage device
US7844717B2 (en) * 2003-07-18 2010-11-30 Herz Frederick S M Use of proxy servers and pseudonymous transactions to maintain individual's privacy in the competitive business of maintaining personal history databases
US20040073795A1 (en) * 2002-10-10 2004-04-15 Jablon David P. Systems and methods for password-based connection
US20040088513A1 (en) 2002-10-30 2004-05-06 Biessener David W. Controller for partition-level security and backup
JP2004199410A (ja) 2002-12-18 2004-07-15 Fuji Xerox Co Ltd 履歴記録装置及び方法
US7178034B2 (en) * 2002-12-31 2007-02-13 Intel Corporation Method and apparatus for strong authentication and proximity-based access retention
JP2004303095A (ja) 2003-03-31 2004-10-28 Fujitsu Ltd 周辺機器装置
CN100390817C (zh) 2003-06-10 2008-05-28 大唐微电子技术有限公司 动态逻辑分区并控制访问权限的ic智能卡及其实现方法
US7356665B2 (en) * 2003-12-17 2008-04-08 International Business Machines Corporation Method and system for machine memory power and availability management in a processing system supporting multiple virtual machines
US20050197859A1 (en) * 2004-01-16 2005-09-08 Wilson James C. Portable electronic data storage and retreival system for group data
US20050177714A1 (en) * 2004-02-10 2005-08-11 Samsung Electronics Co., Ltd. Authentication method of data processing apparatus with recording device and apparatus for the same
US20050210266A1 (en) * 2004-03-18 2005-09-22 Cottrell Andrew P Secure device connection and operation
CN100338589C (zh) 2005-07-29 2007-09-19 大唐微电子技术有限公司 对存储器逻辑分区访问权限进行控制的方法和ic卡
US7228243B2 (en) * 2005-09-22 2007-06-05 International Business Machines Corporation Implementing a high resolution monotonic system clock
WO2007042864A1 (en) * 2005-10-14 2007-04-19 Freescale Semiconductor, Inc. Device and method for managing a retransmit operation
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
JP2008287020A (ja) 2007-05-17 2008-11-27 Murata Mach Ltd 定着装置及びそれを備えた画像形成装置
JP5134863B2 (ja) 2007-05-21 2013-01-30 株式会社ブリヂストン 導電性ローラの製造方法
JP2010097445A (ja) 2008-10-17 2010-04-30 Fuji Electric Retail Systems Co Ltd 自動販売機

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140051350A (ko) * 2011-08-25 2014-04-30 마이크로소프트 코포레이션 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법

Also Published As

Publication number Publication date
US8429724B2 (en) 2013-04-23
SG136923A1 (en) 2007-11-29
US20070250915A1 (en) 2007-10-25

Similar Documents

Publication Publication Date Title
US8429724B2 (en) Versatile access control system
US8468361B2 (en) System and method for securely provisioning and generating one-time-passwords in a remote device
US10193697B1 (en) Systems and methods for providing authentication to a plurality of devices
US8028166B2 (en) Versatile secure and non-secure messaging
JP4847967B2 (ja) 多目的コンテンツ制御を備えたメモリシステム
US9009484B2 (en) Method and system for securing communication
US20180183586A1 (en) Assigning user identity awareness to a cryptographic key
JP4857283B2 (ja) パーティション化による多目的コンテンツ制御
US8266711B2 (en) Method for controlling information supplied from memory device
JP4857284B2 (ja) 多目的コンテンツ制御をするコントロール構造の生成システム
US20070168292A1 (en) Memory system with versatile content control
US20080034440A1 (en) Content Control System Using Versatile Control Structure
US20080010450A1 (en) Content Control Method Using Certificate Chains
US20080022395A1 (en) System for Controlling Information Supplied From Memory Device
US20080010455A1 (en) Control Method Using Identity Objects
US20080010449A1 (en) Content Control System Using Certificate Chains
JP2008524753A5 (ko)
JP2008524755A5 (ko)
JP2008524758A5 (ko)
KR20090033191A (ko) 메모리 디바이스로부터 공급된 정보를 제어하기 위한 시스템과 방법
WO2021129003A1 (zh) 一种密码管理方法及相关装置
JP2008524757A (ja) 多目的コンテンツ制御をするコントロール構造及びコントロール構造を用いる方法
KR20090052321A (ko) 다기능 제어 구조를 이용하는 콘텐트 제어 시스템과 방법
KR20090026357A (ko) 증명서 체인을 이용한 콘텐트 제어 시스템과 방법
KR20090028806A (ko) 증명서 철회 리스트를 이용한 콘텐트 제어 시스템과 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B601 Maintenance of original decision after re-examination before a trial
E801 Decision on dismissal of amendment
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090427

Effective date: 20100830