목차
17.1~14번
18.19번
18.19번
본문내용
있기 때문에 서로 모르고 있다. 이때 발송인 S는 평문 P를 먼저 자기의 해독 알고리즘(ES)을 적용한 뒤에 다시 수신인의 암호화 알고리즘(ER)으로 암호문 C를 만들어 전송한다. 즉 C=ER(DS(P))가 된다. 그러면 암호문 C를 전달받은 수신인 R은 먼저 자기의 비밀 해독 알고리즘(DR)을 적용하고 다시 발송인 S의 암호화 알고리즘(Es)을 적용하면 정확히 S가 자기에게 보낸 평문 P를 얻게 된다. 이 관계를 식으로 표현하면 다음과 같다.
ES(DR(C))
= ES(DR(ER(DS(P))))
= ES(DS(P))
= P
이것으로 수신인 R은 이 메시지 P가 정확히 발송인 S로부터 전송되었다는 것을 확인할 수 있다. 왜냐하면 암호화 알고리즘 ES를 적용해서 평문을 얻은 것은 해독 알고리즘 DS가 사용되었다는 것이며 이것은 발송인 S만이 알고 있기 때문이다.
17.14 권한 부여 행렬을 구현할 수 있는 자료 구조를 설계하고, 관리 유지하는데 따른 문제점을 설명해 보라.
데이타베이스를 접근하는 각 사용자에 대해서는 그 사용자가 접근할 수 있도록 권한이 부여된 데이타 객체와 이 데이타 객체 위에 수행할 수 있는 연산에 대한 정보를 저장한 레코드가 있어야 하는데 이것을 사용자 프로파일(user profile)이라 한다. 시스템은 모든 사용자에 대한 프로파일을 하나의 테이블로 종합해서 관리할 수 있는데 이것이 권한부여 테이블(authorization table)이다. 이 테이블의 엔트리 A[i,j]는 데이타 객체 j에 대해 사용자 i가 수행할 수 있는 연산 권한을 표현하고 있다. 그림 18.19는 간단한 권한부여 테이블의 한 예를 보여주고 있다. 이 테이블에서 각 행은 사용자 프로파일 역할을 하고, 열은 데이타 객체 프로파일 역할을 한다.
데이타
사용자
데이타
1
데이타
2
데이타
3
U1
검색
×
검색, 갱신
U2
×
검색
검색, 갱신
U3
검색
검색, 갱신
×
U4
검색, 갱신
×
×
권한부여 테이블
권한부여의 대상이 되는 데이타 객체의 크기는 시스템이 얼마만큼 복잡한 관리능력을 가지고 있느냐에 달려 있다. 예를 들면 릴레이션 단위로 권한부여를 하는 시스템은 비교적 간단하지만 각 필드 단위로 세분화한다면 훨씬 복잡하게 된다.
일반적으로 권한부여의 대상이 되는 데이타 객체의 명세 방법으로는 객체 이름에 의한 명세, 데이타 값 명세, 통계적 명세, 프로그램, 권한부여 테이블 등과 같은 유형이 있다.
권한 부여 테이블의 엔트리로 삽입할 수 있는 사용자 연산에는 크게 검색, 갱신, 정의 연산으로 구분할 수 있다. 검색 연산 그룹에는 단독, 통계, 조건절(where 절)에서 사용되는 데이타 아이템의 선택 등이 있을 수 있다. 갱신 연산 그룹에는 첨가, 추가, 삽입, 변경, 삭제 연산이 포함된다. 여기서 첨가나 추가 연산은 실제 현존 데이타를 변경하지는 않는다. 정의 연산 그룹에는 테이블의 생성, 삭제, 수정, 인덱스 생성 및 삭제 등이 포함될 수 있다. 실제로 사용자에게 부여할 수 있는 접근 권한은 이 연산들의 조합이 되는 것이 보통이다.
ES(DR(C))
= ES(DR(ER(DS(P))))
= ES(DS(P))
= P
이것으로 수신인 R은 이 메시지 P가 정확히 발송인 S로부터 전송되었다는 것을 확인할 수 있다. 왜냐하면 암호화 알고리즘 ES를 적용해서 평문을 얻은 것은 해독 알고리즘 DS가 사용되었다는 것이며 이것은 발송인 S만이 알고 있기 때문이다.
17.14 권한 부여 행렬을 구현할 수 있는 자료 구조를 설계하고, 관리 유지하는데 따른 문제점을 설명해 보라.
데이타베이스를 접근하는 각 사용자에 대해서는 그 사용자가 접근할 수 있도록 권한이 부여된 데이타 객체와 이 데이타 객체 위에 수행할 수 있는 연산에 대한 정보를 저장한 레코드가 있어야 하는데 이것을 사용자 프로파일(user profile)이라 한다. 시스템은 모든 사용자에 대한 프로파일을 하나의 테이블로 종합해서 관리할 수 있는데 이것이 권한부여 테이블(authorization table)이다. 이 테이블의 엔트리 A[i,j]는 데이타 객체 j에 대해 사용자 i가 수행할 수 있는 연산 권한을 표현하고 있다. 그림 18.19는 간단한 권한부여 테이블의 한 예를 보여주고 있다. 이 테이블에서 각 행은 사용자 프로파일 역할을 하고, 열은 데이타 객체 프로파일 역할을 한다.
데이타
사용자
데이타
1
데이타
2
데이타
3
U1
검색
×
검색, 갱신
U2
×
검색
검색, 갱신
U3
검색
검색, 갱신
×
U4
검색, 갱신
×
×
권한부여 테이블
권한부여의 대상이 되는 데이타 객체의 크기는 시스템이 얼마만큼 복잡한 관리능력을 가지고 있느냐에 달려 있다. 예를 들면 릴레이션 단위로 권한부여를 하는 시스템은 비교적 간단하지만 각 필드 단위로 세분화한다면 훨씬 복잡하게 된다.
일반적으로 권한부여의 대상이 되는 데이타 객체의 명세 방법으로는 객체 이름에 의한 명세, 데이타 값 명세, 통계적 명세, 프로그램, 권한부여 테이블 등과 같은 유형이 있다.
권한 부여 테이블의 엔트리로 삽입할 수 있는 사용자 연산에는 크게 검색, 갱신, 정의 연산으로 구분할 수 있다. 검색 연산 그룹에는 단독, 통계, 조건절(where 절)에서 사용되는 데이타 아이템의 선택 등이 있을 수 있다. 갱신 연산 그룹에는 첨가, 추가, 삽입, 변경, 삭제 연산이 포함된다. 여기서 첨가나 추가 연산은 실제 현존 데이타를 변경하지는 않는다. 정의 연산 그룹에는 테이블의 생성, 삭제, 수정, 인덱스 생성 및 삭제 등이 포함될 수 있다. 실제로 사용자에게 부여할 수 있는 접근 권한은 이 연산들의 조합이 되는 것이 보통이다.
소개글