사물 인터넷 기술
편집자 주:사물 인터넷 보안은 각 IoT 애플리케이션 내의 데이터 스트림 및 소프트웨어의 무결성뿐만 아니라 해당 애플리케이션에 연결된 엔터프라이즈 리소스의 무결성을 위해서도 중요합니다. IoT 보안은 잠재적인 위협과 해당 완화 방법을 이해하기 위한 체계적인 접근 방식이 필요한 복잡한 문제입니다.
Perry Lea의 건축가를 위한 사물 인터넷에서 각색
12장. IoT 보안
Perry Lea 작성
암호화
암호화 및 보안은 IoT 배포의 절대 요구 사항입니다. 통신 보안, 펌웨어 보호 및 인증에 사용됩니다. 암호화와 관련하여 일반적으로 고려해야 할 세 가지 형식이 있습니다.
대칭 키 암호화 :암호화 키와 복호화 키가 동일합니다. RC5, DES, 3DES 및 AES는 모두 대칭 키 암호화의 형태입니다.
공개 키 암호화 :암호화 키는 누구나 데이터를 사용하고 암호화할 수 있도록 공개됩니다. 수신 당사자만 메시지를 해독하는 데 사용되는 개인 키를 갖습니다. 이를 비대칭 암호화라고도 합니다. 비대칭 암호화는 데이터 비밀을 관리하고 참가자를 인증하며 부인 방지를 강제합니다. Elliptic Curve, PGP, RSA, TLS 및 S/MIME와 같은 잘 알려진 인터넷 암호화 및 메시지 프로토콜은 공개 키로 간주됩니다.
암호화 해시 :임의 크기의 데이터를 비트 문자열(다이제스트라고 함)에 매핑합니다. 이 해시 함수는 "단방향"으로 설계되었습니다. 기본적으로 출력 해시를 다시 만드는 유일한 방법은 가능한 모든 입력 조합을 강제 실행하는 것입니다(역으로 실행할 수 없음). MD5, SHA1, SHA2 및 SHA3은 모두 단방향 해시의 형태입니다. 이는 일반적으로 서명된 펌웨어 이미지, 메시지 인증 코드와 같은 디지털 서명을 인코딩하는 데 사용됩니다. s(MAC ) 또는 인증. 암호와 같은 짧은 메시지를 암호화할 때 입력이 너무 작아서 공정한 해시를 효과적으로 생성할 수 없습니다. 이 경우 소금 또는 엔트로피를 증가시키기 위해 비밀번호에 비공개가 아닌 문자열이 추가됩니다. 솔트는 키 파생 함수의 한 형태입니다. (KDF ):
더 큰 이미지를 보려면 클릭하십시오.
암호화 요소. 다음은 대칭, 비대칭 및 해싱 함수입니다. 대칭 및 비대칭 암호화의 키 사용에 유의하십시오. 대칭에는 동일한 키를 사용하여 데이터를 암호화하고 해독해야 합니다. 비대칭 암호화보다 빠르지만 키를 보호해야 합니다.
대칭 암호화
암호화에서 평문은 암호화되지 않은 입력을 나타내고 출력은 암호화되어 있으므로 암호문이라고 합니다. 암호화 표준은 고급 암호화 표준 입니다. (AES ) 1970년대부터 오래된 DES 알고리즘을 대체했습니다. AES는 FIPS 사양의 일부이며 전 세계적으로 사용되는 ISO/IEC 18033-3 표준입니다. AES 알고리즘은 128, 192 또는 256비트의 고정 블록을 사용합니다. 비트 너비보다 큰 메시지는 여러 블록으로 분할됩니다. AES는 암호화 동안 4가지 기본 작동 단계를 가지고 있습니다. 일반 AES 암호화를 위한 의사 코드는 다음과 같습니다.
<글꼴 스타일 ="글꼴 크기:13px;" face ="Courier New"> // AES-128 Cipher용 의사 코드
// 입력:128비트(일반 텍스트)
// 출력:128비트(암호 텍스트)
// w :44단어, 각각 32비트(확장된 키)
state =in
w=KeyExpansion(key) //키 확장 단계(키 자체를 효과적으로 암호화)
AddRoundKey(state, w[0 , Nb-1]) //초기 라운드
for round =1 step 1 to Nr–1 //128 bit=10 round, 192 bit =12 round, 256 bit =14 rounds
SubBytes(state ) //암호화에 비선형성 제공
ShiftRows(state) //열이 독립적으로 암호화되지 않도록 하여
알고리즘을 약화시킬 수 있습니다.
MixColumns(state) //각 열을 변환하고 확산을 추가합니다. to
cipher
AddRoundKey(state, w[round*Nb, (round+1)*Nb-1]) //하위 키를 생성하고
state와 결합합니다.
end for
SubBytes(state) //최종 라운드 및 정리.
ShiftRows(state)
AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1] )
아웃 =상태
상자 모서리를 스크롤하거나 드래그하여 필요에 따라 확장합니다. ↑
AES 키 길이는 128, 192 또는 256비트일 수 있습니다. 일반적으로 키 길이가 클수록 보호 기능이 향상됩니다. 키의 크기는 블록을 암호화하거나 해독하는 데 필요한 CPU 사이클 수에 비례합니다. 128비트는 10사이클, 192비트는 12사이클, 256비트는 14사이클이 필요합니다.블록 암호는 대칭 키를 기반으로 하고 단일 데이터 블록에서 작동하는 암호화 알고리즘을 나타냅니다. 현대 암호는 1949년 Claude Shannon의 제품 암호에 대한 작업을 기반으로 합니다. 암호 작동 모드는 블록 암호를 사용하고 암호를 반복적으로 적용하여 많은 블록으로 구성된 대량의 데이터를 변환하는 방법을 설명하는 알고리즘입니다. 대부분의 최신 암호에는 초기화 벡터 도 필요합니다. (IV ) 동일한 평문이 반복적으로 입력되더라도 고유한 암호문을 보장합니다. 다음과 같은 몇 가지 작동 모드가 있습니다.
전자 코드북(ECB) :AES 암호화의 가장 기본적인 형태이지만, 다른 모드와 함께 사용하여 더욱 고급 보안을 구축합니다. 데이터는 블록으로 나뉘며 각각은 개별적으로 암호화됩니다. 동일한 블록은 이 모드를 상대적으로 약하게 만드는 동일한 암호를 생성합니다.
암호 블록 체인(CBC) :평문 메시지 암호화되기 전에 이전 암호문과 Xored.
암호 피드백 체이닝(CFB) :CBC와 유사하지만 암호 스트림을 형성합니다(이전 암호의 출력이 다음 암호로 전달됨). CFB는 생성 중인 현재 암호에 대한 입력을 제공하기 위해 이전 블록 암호에 의존합니다. 이전 암호의 종속성으로 인해 CFB를 병렬로 처리할 수 없습니다. 스트리밍 암호를 사용하면 블록이 전송 중에 손실될 수 있지만 후속 블록은 손상을 복구할 수 있습니다.
출력 피드백 연결(OFB) :CFB와 유사하게 스트리밍 암호이지만 암호화 전에 오류 수정 코드를 적용할 수 있습니다.
카운터(CTR) :블록 암호를 스트림 암호로 바꾸지만 카운터를 사용합니다. 증분 카운터는 각 블록 암호를 병렬로 공급하여 빠른 실행을 허용합니다. nonce와 counter를 연결하여 블록 암호를 제공합니다.
메시지 인증 코드가 있는 CBC(CBC-MAC) :MAC(태그 또는 MIC라고도 함)은 메시지를 인증하고 지정된 발신자로부터 메시지가 왔는지 확인하는 데 사용됩니다. 그런 다음 MAC 또는 MIC가 수신자의 확인을 위해 메시지에 추가됩니다.
이러한 모드는 1970년대 후반과 1980년대 초반에 처음 구성되었으며 FIPS 81에서 국립 표준 기술 연구소(National Institute of Standards and Technology)에서 DES 모드로 옹호했습니다. 이러한 모드는 정보의 기밀성을 위해 암호화를 제공하지만 수정이나 변조로부터 보호하지는 않습니다. 이를 위해서는 디지털 서명이 필요하며 보안 커뮤니티는 인증을 위한 CBC-MAC를 개발했습니다. CBC-MAC를 레거시 모드 중 하나와 결합하는 것은 인증과 비밀을 모두 제공하는 AES-CCM과 같은 알고리즘이 확립될 때까지 어려웠습니다. CCM은 Counter with CBC-MAC Mode의 약자입니다.
CCM은 데이터 서명 및 암호화에 사용되는 중요한 암호화 모드이며 Zigbee, Bluetooth Low Energy, TLS 1.2(키 교환 후), IPSEC 및 802.11 Wi-Fi WPA2를 포함하여 이 책에서 다루는 수많은 프로토콜에서 사용됩니다.AES-CCM은 이중 암호인 CBC와 CTR을 사용합니다. AES-CTR 또는 카운터 모드는 유입되는 암호문 스트림의 일반적인 암호 해독에 사용됩니다. 들어오는 스트림에는 암호화된 인증 태그가 포함되어 있습니다. AES-CTR은 태그와 페이로드 데이터를 해독합니다. 알고리즘의 이 단계에서 "예상 태그"가 형성됩니다. 알고리즘의 AES-CBC 단계는 AES-CTR 출력과 프레임의 원래 헤더에서 해독된 블록을 입력으로 태그합니다. 데이터가 암호화됩니다. 그러나 인증에 필요한 유일한 관련 데이터는 계산된 태그입니다. AES-CBC 계산 태그가 AES-CTR 예상 태그와 다른 경우 데이터가 전송 중 변조되었을 가능성이 있습니다.
아래 그림은 AES-CBC를 사용하여 인증되고 AES-CTR을 사용하여 해독되는 암호화된 수신 데이터 스트림을 보여줍니다. 이렇게 하면 메시지 원본의 비밀성과 신뢰성이 모두 보장됩니다.
더 큰 이미지를 보려면 클릭하십시오.
AES-CCM 모드.
사물 인터넷 기술
2021년 9월 30일 IoT(사물 인터넷) IoT(사물 인터넷)의 성장과 수용은 천문학적이었습니다. 2017년부터 2019년까지 IoT를 채택한 일부 부문은 CAGR 50%에 도달했으며 시장 전체의 매출은 5,200억 달러에 이를 것으로 예상됩니다. IoT는 2020년 7,614억 달러에 도달하여 이러한 예상 수치를 넘어섰고, 시장 전체의 평균 CAGR은 10.53%로 하락했지만 2026년의 새로운 예측은 현재 매출 1,386억 달러입니다. ROI(투자 수익률)는 업계 리더들이 IoT 채택으로 직간접적인 이점을 보았기 때문에
사이버 보안은 최근 뉴스에서 뜨거운 주제입니다. 최근의 모든 IoT 해킹으로 인해 사람들이 온라인 보안에 대해 우려하는 것은 당연합니다. 인터넷에 연결된 장치에서 종종 간과될 수 있는 영역 중 하나는 IP 카메라입니다. 보안 카메라가 위험에 처할 수 있는 방법과 자신을 보호할 수 있는 방법을 살펴보겠습니다. 내 보안 카메라가 위험합니까? 보안 카메라는 다음과 같은 이유로 사이버 범죄자에게 매력적인 표적입니다. 인터넷에 지속적으로 연결되어 해커가 계속 액세스할 수 있습니다. 감독이 부족하고 네트워크 보안을 관리할 때 종종 간과됩니