ns_ch7 관용암호를 이용한 기밀성

Download Report

Transcript ns_ch7 관용암호를 이용한 기밀성

정보보호기초강의
제7장 관용암호 이용한 기밀성
Confidentiality Using Symmetric Encryption
2007. 11. 3
http://www.ezpia.biz
[[email protected]]
목차
7.1 암호화 함수의 배치 (Placement of Encryption Function)
7.2 트래픽 기밀성 (Traffic Confidentially)
7.3 키의 분배 (Key Distribution)
7.4 난수의 생성 (Random Number Generation)
2007-02 정보보호기초
2
7.1 암호화 함수의 배치
7.1.1 기밀성 공격의 가능한 위치
7.1.2 링크 암호화/ 단대단(End to End) 암호화
2007-02 정보보호기초
3
7.1 암호화 함수의 배치
 기밀성 서비스 제공하기 위한 관용 암호화
 암호화 대상(What)
 암호화 위치(Where) 결정
 암호 함수의 위치 결정
 공격의 잠재적인 위치 파악 후, 암호 함수를 배치
 암호화 함수 배치의 접근 방법
 링크 암호화
 단대단 암호화
2007-02 정보보호기초
4
7.1.1 기밀성 공격의 가능한 위치
2007-02 정보보호기초
5
7.1.1 기밀성 공격의 가능한 위치(cont’)
 취약 지점
 LAN에 접속된 워크스테이션, 호스트, 서버의 경우


내부의 다른 사용자에 의한 도청(LAN은 방송형임)
LAN 상의 트래픽 감시, 트래픽 상황의 파악
 LAN이 dial-in 방식을 제공하는 경우

외부의 침입자가 LAN에 접근하여 트래픽 감시
 배선함 자체에 대한 공격


배선함은 내부 망과 외부 망과의 회선의 연결 역할
무선 송신기를 부착하여 도청
2007-02 정보보호기초
6
7.1.1 기밀성 공격의 가능한 위치(cont’)
 공격 유형
 적극적인 공격

공격자는 링크의 일부분을 물리적으로 제어하여 전송 내용을 삽입하거
나 획득
 소극적인 공격

공격자는 단지 전송 내용을 도청
2007-02 정보보호기초
7
7.1.1 기밀성 공격의 가능한 위치(cont’)
 통신 링크의 유형에 따라 공격의 방법이 다름
 전화선 나 동축케이블은 전자기 유도 장치를 이용하여 공격
 광섬유는 유도 도청 불가능하고 무단연계 시 신호의 질이 현저히 떨어지므로 탐지
가능
 마이크로파 위성 통신은 도청이 쉽고 적극적 공격도 가능
 통신 경로상의 처리기에 대한 공격
 하드웨어와 소프트웨어의 불법변조
 처리기의 메모리에 대한 접근
 전자기 방사물 감시
 통신 링크에 대한 공격보다 발생는 적으나 위험성 존재
2007-02 정보보호기초
8
7.1.2 링크 암호화/단대단 암호화
 암호화 : 공격에 대한 가장 강력하고 일반적인 접근 방법
 무엇을, 어디에
2007-02 정보보호기초
9
7.1.2 링크 암호화/단대단 암호화(cont’)
1) 기본 접근 방법
 링크 암호화





암호화 장치를 통신 링크 양단에 모두 설치
장점
– 모든 통신 링크 상의 모든 트래픽을 보호
단점
– 패킷 교환기내에서 라우팅을 위하여 복호화가 필요하므로 데이터
와 헤더 노출
» 패킷 교환기에서 메시지 공격 가능
링크간의 많은 암호화 장치 필요
공유해야 할 키의 수 증가
2007-02 정보보호기초
10
7.1.2 링크 암호화 대 단대단 암호화(cont’)
 단대단 암호화
 암호화 과정을 두 종단 시스템에서 수행
 장점


전송로와 교환기내에서 암호화 상태로 데이터 전송
발신지와 목적지가 동일한 키를 공유하므로 간단한 인증기능 제공
 단점

패킷 헤더는 라우팅을 위하여 암호화하지 않음
– 트래픽 패턴은 안전하지 않음
2007-02 정보보호기초
11
7.1.2 링크 암호화 대 단대단 암호화(cont’)
 링크 암호화와 단대단 암호화의 혼용
 혼합 방식으로 안전성 향상
 호스트


단대단 암호화 키를 이용하여 데이터 부분만을 암호화 : 데이터 보호
링크 암호화 키를 이용하여 패킷 전체를 암호화
 패킷 교환기


링크 암호화 키를 이용하여 패킷 헤더를 복호화
다음 전송을 위하여 링크 암호화 키를 이용하여 패킷 전체를 암호화
 패킷 교환기 메모리내에서 헤더만 복호화 됨
2007-02 정보보호기초
12
7.1.2 링크 암호화 대 단대단 암호화(cont’)
Table 7.1 Characteristics of Link and End-to-End Encryption [PFLE97]
2007-02 정보보호기초
13
7.1.2 링크 암호화 대 단대단 암호화(cont’)
 링크 암호화와 단대단 암호화의 구조
헤더
단대단 암호화
교환기
호스트
링크 암호화
호스트
데이터
교환기
호스트
단대단 및 링크 암호화
호스트
교환기
호스트
호스트
2007-02 정보보호기초
14
7.1.2 링크 암호화 대 단대단 암호화(cont’)
2) 단대단 암호화 기능의 논리적 위치

링크 암호화 경우는 (물리층, 링크층)에서만 가능

단대단의 경우 여러 가지 선택이 가능
1. 네트워크 계층에서 수행하는 경우






예 : X.25 패킷의 데이터 부분 암호화를 위하여 X.25와 연계
개별적으로 보호될 개체 수와 종단 시스템의 수는 일치
공유한 비밀키로 다른 종단 시스템과 암호 메시지 교환
호스트내의 모든 응용이 동일 키를 이용
FEP에서 암/복호화 처리로 호스트의 부하 경감(그림 7.3)
인터네트워크를 통과하는 트랙픽에 대한 서비스는 불가(그림 7.4)
– 응용계층 암호화로 해결 가능
2. 응용계층에서 수행하는 경우
2007-02 정보보호기초
15
7.1.2 링크 암호화 대 단대단 암호화(cont’)
전위 처리기(Front-end Processor:FEP)의 암호화 기능
 호스트로부터 FEP가 패킷을 접수
 Red 프로세서는 패킷의 데이터 부분은 암호화하여 네트워크로 전송
 네트워크로부터 도착하는 패킷을 Black 프로세서에서 복호화
 복호된 전체 패킷을 호스트로 전달
2007-02 정보보호기초
16
7.1.2 링크 암호화 대 단대단 암호화(cont’)
2007-02 정보보호기초
17
7.1.2 링크 암호화 대 단대단 암호화(cont’)
 응용 계층에서의 단대단 암호화
 전자우편은 단대단 암호화의 방법


응용계층 아래에 단대단 프로토콜은 없음
단일 네트워크에서의 호스트와 게이트웨이, 게이트웨이와 호스트간의 단대단
암호화를 다중 적용함
 단점

응용계층 암호화는 고려해야 할 개체의 수가 급증
– 많은 비밀 키의 생성 및 분배 필요
 대안의 모색
 통신 계층을 위로 이동함에 따라 암호화 대상 정보는 줄어들고, 보안성은 높아짐
(그림 7.5)
2007-02 정보보호기초
18
7.1.2 링크 암호화 대 단대단 암호화(cont’)
 사용자 데이터와 TCP 헤더를 암호화,
 IP헤더는 라우팅을 위하여 암호화되지 않음
 게이트웨이에서 TCP 해더와 데이터 복호화 됨
 필요할 경우 다음 전송을 위해 다시 암호화
2007-02 정보보호기초
19
7.1.2 링크 암호화 대 단대단 암호화(cont’)
 링크 헤더와 트레일러를 제외한 전체 데이터의 암호화
 데이터는 라우터와 게이트웨이에서 복호화 상태로 존재함
2007-02 정보보호기초
20
7.2 트래픽 기밀성
7.2.1 링크 암호화 접근 방법
7.2.2 단대단 암호화 접근 방법
2007-02 정보보호기초
21
7.2 트래픽 기밀성
 트래픽 분석에 의해 발생 가능한 문제
 트래픽 분석 공격으로 정보 획득




파트너들의 신원
파트너들의 통신 빈도
메시지 패턴, 메시지 길이 또는 메시지 양
특정 파트너 사이의 특별한 대화와 관련된 사건들
 특정 트래픽 패턴을 이용한 은밀한 채널(Covert Channel)로 비밀통신에
의한 정보획득

보안 정책에 위배되는 방법으로 정보를 전송
2007-02 정보보호기초
22
7.2.1 링크 암호화 접근 방법
 패킷 헤더를 암호화하여 트래픽 분석 기회를 줄임
 공격자는 종단에서 트래픽 양의 관측 가능=>트래픽 패딩으로 해결
 트래픽 패딩: 전송할 평문이 없어도 계속해서 암호문 생성

트래픽 양 추론 불가능
2007-02 정보보호기초
23
7.2.2 단대단 암호화 접근 방법
 암호화 위치 따른 획득 가능한 정보
 응용계층 암호화 : 대화에 참여한 트랜스포트 개체의 정보
 트랜스포트계층 암호화: 네트워크 계층 주소, 트래픽 패턴
 대응책
 전송이나 응용 계층에서 일정한 길이로 데이터 단위를 패딩
 패딩되는 스트림에는 의미 없는 널 메시지 삽입
2007-02 정보보호기초
24
7.3 키의 분배
7.3.1 키 분배 시나리오
7.3.2 계층 키 제어
7.3.3 세션키의 유효기간
7.3.4 투명성 키 제어 방식
7.3.5 분산 키 제어
7.3.6 키 사용에 대한 제어
2007-02 정보보호기초
25
7.3 키의 분배

관용 암호방식에서의 키 관련 요구사항
1. 양측이 동일한 비밀키를 공유할 것
2. 키를 제3자가 모르게 보호할 것
3. 키를 적당 주기로 변경할 것(공격 당한 데이터 범위를 제한)
4. 효과적인 키 전달 기술을 강구할 것
2007-02 정보보호기초
26
7.3 키의 분배

키 분배 기술 : 칩입자들이 모르게 키를 전달하는 기술
1. A가 키를 선택하여 물리적으로 B에게 전달한다.
2. 제 3자가 키를 선택하여 물리적으로 A와 B에 전달한다.
3. 만약 A와 B가 최근에 어떤 키를 사용했다면, 한쪽이 이전의 그 키를 사용하여 암
호화된 새로운 키를 상대방에게 전송한다.
4. 만약 A와 B가 각각 제 3자 C와 암호화된 연결을 갖고 있으면, C는 키를 그 암호
화된 연결을 통하여 A와 B에게 전달한다.
2007-02 정보보호기초
27
7.3 키의 분배(cont’)
 방법 1과 방법 2
 키를 수동적으로 전달해야 함
 링크 암호화에서 적용 가능
 단대단 암호화에서 적용 어려움(광역 분배 불가능)
 N개의 호스트의 경우
 네트워크나 TCP계층에서 필요한 키의 수는 [N(N-1)/2]
 응용계층에서 필요한 키의 수는 매우 큼(그림 7.7)
 방법 3
 링크 암호화나 단대단 암호화 모두에 적용 가능
 선행 키의 공격에 의하여 이후의 모든 키가 노출될 수 있음
 초기 키에 대한 생성 분배 문제
2007-02 정보보호기초
28
7.3 키의 분배(cont’)
그림 7.7 Number of Keys Required to Support Arbitary connection Between Endpoints
2007-02 정보보호기초
29
7.3 키의 분배(cont’)
 방법 4(키 분배 센터의 이용)
 단대단 암호화에서 널리 채택
 각 사용자는 키 분배 센터와 유일한 키를 공유
 제 3자의 신뢰 문제, 제3자의 공증 효과
 키의 계층구조 사용에 기반함(그림 7.8)



적어도 2개 계층으로 키를 사용
세션 키 : 일시적 사용
마스터 키 : 반영구적 사용
2007-02 정보보호기초
30
7.3 키의 분배(cont’)
그림 7.8 The Use of a key Hierarchy
2007-02 정보보호기초
31
7.3 키의 분배(cont’)
 세션키(Session key)
 종단 시스템간의 암호화에 사용되는 임시 키
 보통 논리적인 연결 동안 사용된 후 폐기됨
 키 분배 센터로부터 획득(마스터키로 암호화되어 전송)
 개체 수가 N일 경우 필요한 세션키 : N(N-1)/2
 마스터키(Master key)
 키 분배 센터와 각 사용자가 공유하는 유일한 키
 개체 수가 N일 경우 필요한 마스터키 : N개
 비암호학적 방법으로 분배
2007-02 정보보호기초
32
7.3.1 키 분배 시나리오
2007-02 정보보호기초
33
7.3.1 키 분배 시나리오(cont’)
 그림 7.9의 해설
 각 사용자와 KDC가 유일한 마스터키를 공유한다고 가정
 1 단계


세션키 요구 메시지를 보냄
전송 내용 : A와 B의 신원, 유일한 식별자[N1]
 2 단계


응답 메시지를 마스터키 Ka로 암호화하여 전송
전송 내용
– 일회용 세션키 KS, (1)단계에서 전송 받은 메시지
– B에게 전송될 메시지를 Kb로 암호화 (EKb[KS, IDA])
2007-02 정보보호기초
34
7.3.1 키 분배 시나리오(cont’)
 그림 7.9의 해설
 3 단계


세션키를 저장하고, EKb[KS, IDA]를 B에게 전송
Kb로 암호화되었기 때문에 기밀성 제공
– A와 B는 세션키 KS를 공유
 4 단계 (인증을 위한 추가적인 단계)

B는 A에게 임시 비표 N2를 세션키로 암호화하여 전송
 5 단계(인증을 위한 추가적인 단계)


A는 B에게 f(N2)를 세션키로 암호화하여 전송
응답으로 A를 인증
2007-02 정보보호기초
35
7.3.1 키 분배 시나리오(cont’)
 전형적 키분배 방식의 평가
 재전송에 취약
 공격자 C가 과거의 KS를 획득할 수 있다면,
 C가 과거의 KS가 포함된 단계3를 단순 재전송하여 A로 신분위장 가능
 단계 4와 5에서 과거의 KS를 이용하여 인증 성공
2007-02 정보보호기초
36
7.3.2 계층 키 제어
 KDC를 계층화
 단일 KDC는 규모가 큰 네트워크에서 비실용적
 광역KDC : 다수의 지역 KDC로 영역을 분할 관리
 지역KDC : 지역내 통신책임, 다른 지역은 광역 KDC가 중계
 계층 구조는 KDC의 손상을 그 지역만으로 제한하는 효과
2007-02 정보보호기초
37
7.3.3 세션키의 유효기간
 세션키를 자주 변경할 경우 안전성은 높아지나 부하 증가
 연결형 프로토콜
 매 세션마다 새로운 세션키를 사용
 하나의 논리적 연결이 너무 길 때 공격 위험 증가

주기적으로 변경
 비 연결형 프로토콜
 세션키 변경 주기 불규칙
 각 교환마다 새로운 세션키를 사용
 교환 오버헤드 시간 증가
 지정된 시간 또는 일정한 개수의 트랜잭션 동안 하나의 세션키를 사용
2007-02 정보보호기초
38
7.3.4 투명성 키 제어 방식
2007-02 정보보호기초
39
7.3.4 투명성 키 제어 방식(cont’)
 단대단 암호화를 종단 사용자에게 투명한 방식으로 제공하는데 유용
 FEP의 역할 : 호스트 또는 터미널을 대신하여 세션키를 획득
 FEP와 KDC 사이의 통신은 마스터키를 사용하여 암호화
 1 단계 : 호스트는 연결 요구 패킷을 전송
 2 단계 : FEP는 그 패킷을 보관해 놓고 KDC에 세션키 요구
 3 단계 : KDC는 세션키를 생성하여 두 종단간 FEP에 전송
 4 단계 : FEP는 보관하였던 패킷을 세션키로 암화하여 전달하면 두 호스
트 사이의 연결이 이루어짐
 FEP를 호스트와 네트워크 사이의 인터페이스로 활용하여 종단 시스템에 영향
을 최소화
2007-02 정보보호기초
40
7.3.5 분산 키 제어
 KDC의 사용에 따라 KDC의 신뢰성 및 보호가 필요함
-> 키 분배를 분산 시킴으로써 해결
 시스템 전체 N(N-1)/2개의 마스터 키 필요
 각 노드는 최대(N-1)개의 마스터 키 유지
 마스터 키 개수의 증가
2007-02 정보보호기초
41
7.3.5 분산 키 제어(cont’)
 분산 키 분배 절차
 1 단계

A가 B에게 세션키를 요구하고 임시 비표 N1을 발행
 2 단계


B가 마스터키로 암호화된 메시지로 응답(기밀성, 인증)
전송 내용
– 세션키, B의 식별자, f(N1), 임시 비표 N2
 3 단계

A는 N1반환 값을 검증하고 수신한 세션키를 사용하여 f(N2)를 전송
(인증, 재전송)
 세션키는 키 보호를 위하여 제한된 시간동안만 사용
2007-02 정보보호기초
42
7.3.6 키 사용에 대한 제어
 키의 계층화와 키 분배의 자동화로 인하여 수동적으로 관리해야 할 키
의 수가 감소됨
 자동 배분되는 키 사용 방식에 적당한 제어를 필요
 여러 가지 유형의 세션키의 예 :
 일반적인 통신을 위한 데이터 암호 키
 전자자금 이체 등에 이용되는 PIN 암호 키
 공개적인 장소에 있는 파일 암호화를 위한 파일 암호 키
 키의 사용 목적에 따라 키의 사용방법을 제어방식이 필요
 키 태그 방식
 제어 벡터 방식
2007-02 정보보호기초
43
7.3.6 키 사용에 대한 제어(cont’)
 키 태그 이용 방식
 DES에 적용
 64비트 DES 키의 패리키 비트에 사용되는 8 비트를 이용
 1비트는 키가 세션키인지 마스터키인지 분별
 1비트는 키가 암호화에 이용될 수 있음을 표시
 1비트는 키가 복호화에 이용될 수 있음을 표시
 기타 비트는 예비용
 단점
 태그가 8 비트로 제한되기 때문에 융통성과 기능의 한계
 태그가 키에 포함되므로 키와 함께 암호화되기 때문에 복호화 되어야 키의 용도를
알 수 있어 키 사용 제어 방법이 제한
2007-02 정보보호기초
44
7.3.6 키 사용에 대한 제어(cont’)
 제어 벡터 이용 방식
 각 세션키는 여러 항목으로 구성된 제어 벡터를 가짐
2007-02 정보보호기초
45
7.3.6 키 사용에 대한 제어(cont’)
 제어 벡터 방식의 특성
 제어벡터(CV) 구성항목은 세션키의 사용 및 제한사항 명시
 제어 벡터는 세션키의 암호화와 복호화에 이용됨
 세션키의 암호화



해쉬 값 : H = h(CV)
키 입력 : Km  H
암호문 : EKm  H[Ks]
 세션키의 복호화

Ks = DKm
 H[Ekm  H[Ks]]
 장점


키의 복잡한 제어구조 가능(제어 벡터 길이에 제한이 없음)
제어벡터는 원형으로 이용(여러 가지 응용이 가능)
2007-02 정보보호기초
46
7.4 난수의 생성
7.4.1 난수의 사용
7.4.2 난수의 근원
7.4.3 의사 난수 생성기
7.4.4 암호학적으로 생성된 난수
7.4.5 Blum Blum Shub 생성기
2007-02 정보보호기초
47
7.4.1 난수의 사용
 암호학에 기초한 다수의 보안 알고리즘들은 난수를 사용
 사용 예 :
 상호 인증 방식

임시비표 nonce로 활용
 KDC 또는 통신 주체에 의한 세션키 생성
 RSA 공개키 알고리즘을 위한 키 생성
 난수 수열의 조건
 임의성(randomness)
 비예측성(unpredictability)
2007-02 정보보호기초
48
7.4.1 난수의 사용(cont’)
1) 임의성(Randomness, 무작위성)
 균일 분포(Uniform distribution)
 각 수의 출현 빈도가 동일해야 함
 판정 방법 존재
 독립성(Independence)
 순서상 어떤 값도 다른 값으로부터 추론 불가능
 판정 방법이 존재 하지 않음
(독립성이 존재하지 않음을 보여 주는 통계적인 방법 이용)
2) 비예측성(Unpredictability, 예측 불능성 )
 출현 빈도수가 같고 독립적이어서 예측 불가를 보장
 참 난수보다는 단지 연속적인 수의 예측 불가도 유용
 의사 난수의 경우 예측이 가능하므로 주의하여야 함
2007-02 정보보호기초
49
7.4.2 난수의 근원
 물리적인 장치
 설치 어렵고 임의성과 정확도의 문제로 실용적이지 못함
 이온화 방사선 추이의 펄스 탐지기(pulse detector of ionizing
radiation events)
 가스 방출 튜브(gas discharge tubes)
 누전 축전기(key capacitors)
 난수의 집합 사용
 난수의 집합 크기 한계
 난수의 집합이 공개된 것이므로 침입자도 입수 가능
 난수 생성 알고리즘 사용
 일렬의 수 생성
 의사 난수(pseudo random number)
2007-02 정보보호기초
50
7.4.3 의사 난수 생성기
 난수 생성기 평가 기준
 완전 생성 주기를 가져야 함
(함수는 0과 m사이의 모든 값을 반복되기 전에 생성)
 생성된 순서는 임의적
 함수는 32비트 연산을 효율적으로 적용
2007-02 정보보호기초
51
7.4.3 의사 난수 생성기(cont’)
 선형 합동 방법(Linear congruential method)
 Lehmer에 의해 처음 제안된 알고리즘
 파라메터 구성
 m 법 (modulus) m > 0
 a 승수 (multiplier)
0a<m
 c 증분 (increment)
0c<m
 X0 초기치 (seed) 0  X0 < m
2007-02 정보보호기초
52
7.4.3 의사 난수 생성기(cont’)
 난수 생성 식
Xn+1 = (aXn + c) mod m
 (각 정수의 범위가 0  X0 < m 인 일련의 정수 생성)
 a=7, c=0, m=31, X0=1 일 때
=> 1, 7, 17, 23, 1, 7, 17, …4의 주기
 a=5, c=0, m=31, X0=1 일 때
=> 1, 5, 25, 29, 17, 21, 9, 13, 1
 m의 값을 크게 할 필요: 상이한 난수 개수 증가
2007-02 정보보호기초
53
7.4.3 의사 난수 생성기(cont’)
 파라미터의 선택
 a, c, m을 적당히 선택하면 난수 생성기 평가 기준 통과
 a는 솟수로 선택
 c는 0으로 선택
31
 m은 2 -1로 선택
31
⇒ Xn+1 = ( aXn) mod 2 -1
2007-02 정보보호기초
54
7.4.3 의사 난수 생성기(cont’)
 문제점
 초기치 X0 를 선택하는 것 이외의 임의성은 전혀 없음
 생성된 연속수 4개만 있으면 파라메터 값 계산 가능
 개선책: 내부 시스템 클럭 사용
 난수 생성마다 현재의 클럭 값을 새로운 seed로 사용
 현재의 클럭 값을 난수에 더하여 사용
2007-02 정보보호기초
55
7.4.4 암호학적으로 생성된 난수
 순환 암호 방식(Cyclic Encryption)
 마스터키로부터 세션키를 생성하는
과정
 카운터를 입력으로 사용
56
 56비트 DES 키 생성시 주기가 2 인
카운터를 이용
 몇 개의 키를 이용하여 마스터키를
추론하는 것은 계산적으로 불가능
2007-02 정보보호기초
56
7.4.4 암호학적으로 생성된 난수(cont’)
2) DES의 출력 피드백 모드(DES OFB)
 스트림 암호화뿐만 아니라 키 생성에도 사용 가능
 연속적인 64비트 출력은 일련의 의사 난수가 됨
3) ANSI X9.17 의사 난수 생성기
 금융 보안 응용과 PGP를 포함한 다수의 응용에 사용
 구성 요소(그림 7.14)



입력 : 두개의 의사 난수 값이 생성기를 구동
– 하나는 현재 날짜와 시간 : DTi, 다른 하나는 임의의 seed값 : Vi
핵심: 3 개의 삼중 DES 모듈 사용
– (모두 동일한 56 비트 키 사용 : 키는 보안)
출력 : 64 비트 의사 난수 Ri 와 64 비트 seed값 Vi+1 로 구성
 노출된 Ri 로부터 Vi+1 추론이 불가능
2007-02 정보보호기초
57
7.4.4 암호학적으로 생성된 난수(cont’)
2007-02 정보보호기초
58
7.4.5 Blum Blum Shub 생성기
 암호학적으로 안전한 의사난수 비트 생성기로 평가됨
 안전성은 n의 소인수 분해의 어려움에 근거함
 표 7.2 : BBS 생성기의 연산 예제
 n = 192649 = 383(p) × 503(q), s = 101355의 경우임
 알고리즘
n=pxq
n에 서로소인 s를 선택
BBS 생성기는 다음 알고리즘에 따라 비트열 Bi를 생성
X0 = s2 mod n
for i = 1 to infinity
Xi = (Xi-1)2 mod n
Bi = Xi mod 2
2007-02 정보보호기초
59