본문 바로가기

Network

Network/블루투스/링크계층

반응형
링크 계층
- 링크 계층 상태

  • 준비 상태에서 시작하며 데이터를 주지도 받지도 않은 상태에서 시작한다.
  • 준비 상태는 스캐닝 상태와 왔다 갔다 한다.
  • 스캐닝 상태는 광고를 리스닝한다.
  • 준비 상태에서 광고 상태로 들어갈 수 있으며 광고를 보내는 것을 의미한다.
  • 준비 상태에서 초기화 상태로 들어갈 수 있으며, 특정 디바이스에 연결 작업을 준비한다.
  • 광고 상태와 초기화 상태에서 둘다 연결 상태로 들어 갈 수 있으며
  • 광고 상태에서 연결을 위해 메세지를 보내게 된다."안녕 난 로빈이야, 연결해주길바래"
  • 초기화 상태에서도 동일하며, 광고를 준대상은 슬레이브가 되고 연결 상태에 들어간 대상은 마스터가 된다.
  • 초기화상태에서 연결된 대상은 마스터가 되고, 광고 상태에서 연결된 대상은 슬레이브가 된다.
  • 리모컨의 예시 
    리모컨 버튼을 눌면 광고르 시작한것, 텔레비전이 마스터가 되고 리모컨이 슬레이브가 된것.

- 수동 스캐닝 - 장치 탐색
  • 헬로 우 로빈이라는 패킷 3개를 보내 스캔
  • 스캐너가 리스닝중인 디바이스를 파운드 디바이스로 인식

- 액티브 스캐닝 - 장치 탐색
  • 스캔 리퀘스트를 보내서 스캔 리스폰스를 받는다. 그렇게하고 찾은 장치를 호스트에게 알림.

- 브로드캐스트 데이터
  • 브로드 캐스트 데이터는 어디에 있고라는 위치 데이터를 호스트에게 알려준다.

- 연결 초기화
  • 통신 이벤트 간격을 보면 채널 연결을 거치면서 연결이 성공하면 데이터를 받고 실패하면 다른 채널로 이동하면서 정보를 받는다.
- 최저전력 연결
  • 저전력 기술은 IOT에서 쓰임
  • ex) "전등 제어기에 연결해줘"  광고 
    • 광고자는 나
      Initiator는 전등제어기
    • "poll" > 제어기 :  "뭘 원하냐?"
      Data > 나 : "불 켜줘"
      ack > 제어기 : "ㅇㅋ 불켜드림"
      LL Terminate > 나 : "더이상 말할게없다 나 Terminate한다."
      ack > 제어기 : "ㅇㅋ ㅂㅂ"
      • 이 주고받고가 3ms 이내에 이루어진다.
  • 무조건 저전력에 최적화되어있다.
- 연결 토폴로지
  • 위 상태에서 연결을 원하는 패킷을보냄


  • 연결 성립

- 패킷 구조
  • 모든 패킷은 같은 구조를 가지고 있다.
  • Preamble (전문으로 해석되는데 시그니처 같음) : 01010101 or 10101010
  • 접근 주소 (Access Address) - 연관된 32 비트 시퀀스 (디바이스 주소)
    • 광고 채널 에서 6개의 값을 가진다.
    • 마스터가 슬레이브에게 보내는 접근 주소는 랜덤 넘버이다. (보안적인 부분에서 중요하다네.)
  • 페이로드 - 실제 데이터
    • 최소 데이터 크기 2 옥텟 , 최대  옥텟
  • CRC - 24 bit .. 에러 탐지
    • CRC 실제데이터를 계산.

- 광고 패킷 구조
  • 세번째 필드 : 헤더필드
    • 광고 패킷의 타입이 뭐냐
  • 연결을 위한 패킷 구조라고 볼 수 있음.
- 데이터 패킷 헤더

- Bit 스트림 프로세싱 (bit 내보내는것)
  • 데이터는 처음에 암호화된다 (선택사항)
  • 다음에 CRC가 만들어지고
  • 그다음 whiten 희게한다라는데 
  • 그다음 전송한다.
  •  

- 링크 레이어 컨트롤 패킷
  • 커넥션 이벤트 간격간에 발생한다.
  • 각각 위부터 순서대로라고 볼 수 있고 인크립션 시작부터 리퀘스트 리스폰스는 핸드쉐이킹 과정과 유사하다.
  • ENC REQ > ENC RSP > START ENC REQ > START ENC RSP >  ..
  • VERSION IND : 누가 디바이스 칩을 만들었고하는 것을 알아낼 수 있음.

- 보안 소개
  • Eavesdroppig Protection > 하이재킹 보호
  • 중간자 공격 보호
  • 페이로드 인크립션
  • 페이로드 검사 ( LE에서 새로운 기술)
  • 디바이스 프라이버시 ( LE에서 새로운 기술)
    • 랜덤범버의 해쉬를 가지고있다. (디바이스 식별을 위해 > 랜덤어드레스 > 어드레스가 일치하지 않는다면 바뀐것.)
    •  50분마다 어드레스를 바꿀수있다.

- WE HAVE "UNBALANCED" SECURITY
  • 마스터와 슬레이브의 보안수준이 왜 다른지 설명
  • 왜 불균형적인가?
    • 슬레이브는 자원 제한적
    • 슬레이브는 저전력의 베터리를 가짐
    • 슬레이브는 제한되있고 저장소를 갖지 않는다.
  • 어떻게 불균형적인가?
    • 마스터는 키나 식별정보를 기억해야한다.
      • 롱텀 키 : 슬레이브에 의해서 주어지는것.
  • 슬레이브는 마스터로부터 모든 것을 가져오기때문에 기억할 필요가없다.

- 호스토와 계층간의 분리된 보안
  • SMP (Security Management Protocol) : 호스트의 보안 프로토콜 
    • 단순한 보안 연결과 동일
    • 보안 알고리즘의 빠른 업그레이드가 가능 
  • 링크계층에서 암호화와 인증이 완료됨
    • 저전력에서 하드웨어 솔루션이 쓰이고
    • AES-128 인터페이스와 임의의 숫자 생성기가 노출됨.

- 패킷안의 인증  (Authentication)
  • 각각의 모든 패킷을 32 bit 메시지에 통합 체크 
    • 페이로드의 끝에 추가되고
    • 헤더와 길이 페이로드를 계산한다.
  • MIC은 페이로드를 호스트에게 보내기 전에 검증한다.
  • 최고 저전력과  실시간 요구사항이 없다. (무슨말)

- AES-128 암호화 엔진
  • 무선 표준에 더한 보안
  • 링크계층에서 CCM (Counter Mode CBC-MAC (RFC 3610))사용
    • 인증데이터를 암호화하고
    • 인증데이터의 페이로드 끝을 믹에 추가하고
    • 실시간 인증을 수행할 필요는 없다. ( 전력을 아낌)
- Privacy
  • 'tracking' 정지를 사용
    • 임의 장치 주소를 지원한다.
    • 싱글 모드 장치를 위한 옵션이다.
  • 장치 변화를 식별
    • 주소는 매 15분 단위로 바뀐다.
    • 주소는 두 파트로 조합되있다.
      • 랜덤 번호
      • 식별정보와 랜덤번호에 대한 해쉬값
- 랜덤 장치 주소와 공식(Public 장치 주소)
  • 공식 장치 주소 : IEEE EUI-48 맥어드레스
    • 랜덤 장치 주소는 랜덤 넘버와 랜덤 넘버 식별 정보로 구성
      • 결합된 장치가 주어진다. > 식별되는 신원정보
  • 공개 나 무작위 식별에 사용된 한 비트
    • 랜덤 주소냐 공개 주소냐 를 가르는 비트
  • 49 bit address 

- 흐름 제어

  • SN과 NESN 승인체계
    • SN : 시퀀스 넘버
      • 넘버는 0부터시작하면서 1씩증가한다.
    • NESN : 다음 예상 시퀀스 넘버
  • 시퀀스 넘버는 각각 새로운 패킷을 전달
  • NESN는 새로운 패킷 전달
    • 슬라이딩 윈도우 승인과 LE를 승인


반응형

'Network' 카테고리의 다른 글

Network/블루투스/아키텍처  (0) 2017.11.30
Network/블루투스/물리계층  (0) 2017.11.30
Network/ASA/ADSM/동적 자동 NAT  (0) 2017.11.01
GNS3/장비/ASAv의 NAT 설정  (0) 2017.10.25
OSI 7 계층 정리  (0) 2017.08.23