Tech Recipe Book
My Services
  • Book
    • About the author
    • Architect
      • Algorithms
        • DB index algorithms
          • How does database indexing work
        • Neural network optimization
          • Neural Network Optimization
        • Route search
          • Road network in a database to build a route
          • Traveling Salesman Problem (TSP)
      • Architecture Frameworks
        • DODAF
        • TOGAF
        • Enterprise Architecture (EA) Tools Reviews 2023 | Gartner
      • Zero Trust
      • Billing
        • SHM billing system
      • Bots
        • Discord
        • Telegram
          • Chat GPT Telegram bot
          • Получаем статистику Telegram-канала при помощи api и python или свой tgstat с регистрацией и смс
          • Как хостить телеграм-бота (и другие скрипты на Python) на Repl.it бесплатно 24/7
          • Создание Telegram бота на PHP #1: основные понятия для работы с API
          • Создание Telegram бота на PHP #2: создание первого бота для Telegram
          • Создание Telegram бота на PHP #3: примеры отправки сообщений с кнопками в Telegram
          • Создание Telegram бота на PHP #4: отправка файлов и изображений в Telegram
          • Создание Telegram бота на PHP #5: работа с хуками
      • Business intelligence
      • Cloud Storage
        • Ceph
        • Virtual Distributed File System
      • Cryptography
        • Open Source PKI Software
        • OpenPGP
          • Email Encryption
          • Kleopatra
          • Miscellaneous Tools
          • Server side applications
      • Message broker
        • Kafka
          • Kafka UI-tools
          • Kafka streams ksqlDb
        • RabbitMQ
      • DB
        • MySQL
          • Auto sharding
          • MariaDB Zabbix monitoring
          • MySQL and MariaDB replication with Zabbix monitoring
        • Postgres
          • HA PostgreSQL with Patroni, Haproxy, Keepalived
          • Mass parallel requests - Greenplum
          • PostgreSQL cluster for development and testing
        • Vitess - Scalable. Reliable. MySQL-compatible. Cloud-native. Database.
      • Identity and Access Management (IDM)
        • FreeIPA - Identity, Policy, Audit
        • FreeIPA as an Enterprise solution
        • Keycloak
          • Keycloak HA cluster
        • Open Identity Platform
        • SSO
          • Keycloak for Java app
          • OpenAM
          • OpenIG
      • Firewall
        • nftables
      • Infrastructure As a Code
        • Ansible
        • IaC Packer Ansible Teraform
        • Installing Jenkins using terraform in Kubernetes in Yandex Cloud with letsencypt
        • Teraform Crosplan Pulumi
        • Yandex IaC solutions
      • Kubernetes
        • Installation
          • Install Kubernetes cluster
          • Deploying a Kubespray cluster to OpenStack using Terraform
          • Kube deploy in Yandex cloud
        • Frameworks
          • Deckhouse
            • LDAP authentification
            • On premise Install
            • Yandex Cloud Install
          • K3S
          • OpenShift OKD
          • RKE2
          • Rancher
            • Rancher Install
        • Auth
          • Keycloak in k8s
          • LDAP
        • GUI management Lens
        • Monitoring
          • Monitoring with Falco
          • Network monitoring
          • Nginx ingress
          • Prometheus Graphana for sample Nodejs app
          • Rsource monitoring Avito
        • Exposing services
          • Exposing Kubernetes Services
          • Cilium BGP
        • CNCF
        • Helm
          • Repositories
            • Artifact Hub | official
            • Bitnami | vmware
          • Awesome helm charts and resources
          • Essential Services for Modern Organizations
          • Security and Compliance
          • Additional charts
        • Isolation
          • vcluster - Virtual Kubernetes Clusters
          • Kiosk
          • KubeArmor
          • Control Plane Hardening
          • Hierarchical namespaces
        • Security Center
          • Minesweeper
          • NeuVector by SUSE
          • SOAR in Kubernetes
          • Security Сenter for Kubernetes
        • Terraform CI security
          • Terraform plan analysis with Checkov and Bridgecrew
          • Yandex Terraform scan
        • Vulnerability management
          • Aqua
          • Sysdig
          • Kyverno
          • GitLab
          • NeuVector by SUSE
        • Image scanning
          • Snyk
          • Sysdig
          • Harbor
          • Trivy
        • Signature verification
          • Sigstore
        • Control plane security
          • Gatekeeper
            • Applying OPA Gatekeeper
          • Kyverno
            • Policy as a code. Kyverno
        • Runtime Security
          • Osquery
          • Falco
          • ClamAV
        • Network security
          • Cilium
          • Control Plane Hardening (API restriction)
          • Network policy recipes
          • Service mesh
            • Istio HA, LoadBalance, Rate limit
          • mTLS Autocert
        • Honeypot
          • Building honeypot using vcluster and Falco
        • Backup
          • Kasten K10
        • Secrets
          • Vault CSI Driver
      • Load Balance
        • Nginx
        • HAProxy
          • Proxy methods
          • HAProxy for RDP
          • Payment gateway A/B test with HAProxy
          • HAPRoxy for Percona or Galera
      • Monitoring
        • Zabbix
          • Apache Zabbix
          • Disc Quota
          • Nginx Zabbix
          • SSL certificates Zabix
          • Zabbix notifications
        • Nagios
          • Datacenter monitoring
        • Prometheus and Grafana
      • Windows
        • Sysmon enhanced Windows audit
        • Sysmon to Block Unwanted File
      • Linux
        • Rsync
        • Debian based
          • Apt-Cacher NG
          • Unattended Upgrades in Debian / Ubuntu
        • RedHat basede
          • RPM Server
        • Logs analysis
        • Build armhf qemu
      • NGFW
      • CI/CD
        • DevSecOps
          • DAST
            • Burp
              • Dastardly
            • StackHawk
            • ZAP and GitHub Actions
          • SAST
            • Checkmarx
            • OSV by Google
            • Snyk
            • SonarQube
        • GitLab Runner in Yandex Cloud
        • Dynamic Gitlab Runners in Yandex Cloud
        • GitLab runner in Kubernetes with Werf
        • Kubernetes deploy strategies
        • Kubernetes highload deploy. part 1
        • Kubernetes highload deploy. part 2
        • Kubernetes Argo Rollouts
        • Jenkins in Kubernetes
        • Ansible Semaphore
        • Image storage, scaning and signing
        • Install WireGuard with Gitlab and Terraform
        • CI/CD example fror small web app
        • Threat matrix for CI CD Pipeline
      • SIEM / SOC
        • Datadog
        • Splunk
          • Splunk — general description
        • MaxPatrol
          • MaxPatrol 8 and RedCheck Enterprise
        • QRadar IBM
        • Cloud Native Security Platform (CNAPP) - Aqua
        • OSSIM | AT&T
          • AlienVault (OSSIM) install
        • Wazuh
        • EDR
          • Cortex XDR | Palo Alto Networks
          • Cynet
          • FortiEDR | Fortinet
          • Elastic
        • Elastic
          • Install Elasticsearch, Logstash, and Kibana (Elastic Stack) on Ubuntu 22.04
          • Setting Up Elastic 8 with Kibana, Fleet, Endpoint Security, and Windows Log Collection
        • Threat Intelligence
          • MISP
          • msticpy Microsoft
          • X-Force | IBM
          • Elastic
      • VPN
        • Full-Mesh VPN fastd, tinc, VpnCloud
        • Wireguard
          • WireGuard for Internet access
          • WireGuard on MikroTik and Keenetic
          • WireGuard site to site
        • SoftEther VPN Project
        • Cisco AnyConnect client
        • OpenConnect
        • SSTP python server
      • OS hardening
        • CIS Benchmarks
      • Cloud Providers
      • OpenNebula
        • OpenNebula Edge Cloud - Open Source Cloud & Edge Computing
        • Discover OpenNebula – Open Source Cloud & Edge Computing Platform
        • OpenNebula Multi-Cloud
        • Kubernetes on OpenNebula
        • The Open Source Alternative to Nutanix
        • The Simple Alternative to OpenStack
        • OpenNebula Partner Ecosystem
      • OpenStack
        • Install manual
        • Install with DevStack
      • VM
        • Create a VHD file from a Linux disk
        • Backup / Migration
          • Coriolis
          • Proxmox Backup Server
        • oVirt
        • VMware vCenter
        • Proxmox
      • Docker
        • Container optimization
        • Ubuntu RDP container
      • LXC
        • LXD on Ubuntu 18.04
        • Install, Create and Manage LXC in Ubuntu/Debian
    • Big Data
      • OLAP data qubes
      • Storage and autoscale in Lerua
    • Machine Learning
      • Yandex YaLM 100B. GPT model
      • Kaggle Community Datasts Models
      • AI in video production
      • Image search
      • Chat bots
        • You.com
        • Chat GPT
          • Implementing GPT in NumPy
        • Jailbreak Chat
      • Coding plugins CodeWhisperer
    • Malware
      • Isiaon/Pitraix: Modern Cross-Platform Peer-to-Peer Botnet over TOR
      • theZoo A repository of LIVE malwares
    • Pentest
      • Red Team
        • MITRE ATT&CK matrix
        • C2 Frameworks
          • Brute Ratel C4
          • Cobalt Strike
          • Covenant
          • Havoc Framework
          • Merlin
          • Metasploit
          • Sillenttrinity
          • Sliver
        • Manage and report
          • Dradis Framework
          • Hexway
        • Underground
      • Social engineering
        • Social Engineer Toolkit setoolkit
      • OSINT
        • OSINT for comapny
        • Instagram fishing
      • Forensics
        • Forensics tools
      • Pentesting Methodology
      • Web
      • CI/CD Methodology
      • Cloud Methodology
        • Hacking The Cloud
      • Kubernetes Pentesting
      • Android
        • SSL Unpinning for Android applications
      • iOS
        • SSL unpinning iOS and macOS applications
      • HackBar tool
      • CyberChef Tools
      • Python virtualenv
      • IppSec - YouTube
      • Hacktricks.xyz
    • Compliance
      • 152 ФЗ. Personal data
      • PCI DSS and ГОСТ Р 57580.1-2017
      • Cloud compliance
      • ГОСТ Р 57580.1-2017 для Kubernetes
      • Kubernets as DevSecOps and NIST compliance
      • NIST SP 800-61 cyberincidece control
      • CIS Kubernetes Benchmark v1.6 - RKE2 v1.20
      • CIS Kubernetes Benchmark v1.23 - RKE2
      • Requirements for Russian Banks
      • Tools
        • Chef InSpec
        • Elastic SIEM
    • Asset management
      • CMDBuild
    • Project management
    • Incident management SRE
    • Risk management
      • IT risk management
      • BSI-Standard 200-3
    • Web Dev
      • Cookie security
      • OWASP Top 10 2021
      • Docker nginx php mysql
      • Docker tor hiddenservice nginx
      • Docker Compose wp nginx php mariadb
      • Dependency Checking
        • Nexus Analyzer
        • OWASP dependency-check
      • Yii skeeks cms
      • YiiStudio
    • Art
      • GTK Themes
      • Themes for Xfce Desktop
      • XFCE / Xubuntu Windows 95
      • Moscow events
      • Photo goods
      • Russian style gifts
    • Cryptocurrency
      • News
      • Arbitrage
      • Stocks
      • Exchange aggregators
      • Where to use
      • Prepaid cards
        • BitFree
        • Pyypl Your Money at Your Fingertips
    • IT magazines
      • WIKI and Writeups tools
        • BookStack
        • GitBook
        • MkDocs
        • Wiki.js
        • DokuWiki
    • Languages
    • Learning
      • (ISC)2
        • CISSP
      • Offensive Security
        • OSCP
        • OSEP
        • OSED
      • DevSecOps
        • Certified DevSecOps Professional (CDP)
        • Certified DevSecOps Expert (CDE)
      • Web Security Academy: PortSwigger
    • Relocation
      • London experience
      • IT visas in 2022
      • Remote work
      • Running business in UAE
    • Freenet
      • Independent online services: the philosophy of a free Internet
      • Tor Project Anonymity Online
      • I2P Anonymous Network
    • Services
      • SMS Registration
        • Registering ChatGPT in Russia
      • Local and regional eSIMs for travellers - Airalo
      • Digital busines cards
      • No KYC services and exchanges
Powered by GitBook
On this page
  • Установка
  • Создание пары ключей
  • Экспорт и импорт
  • Шифрование и подпись
  • Постскриптум

Was this helpful?

  1. Book
  2. Architect
  3. Cryptography
  4. OpenPGP

Kleopatra

Last updated 1 year ago

Was this helpful?

Программы семейства (GNU Privacy Guard) / (Pretty Good Privacy) позволяют "прозрачно" подписывать и зашифровывать все типы цифровой информации. По своей сути, названные инструменты являются лишь удобной обёрткой, упрощающей практическое использование открытых алгоритмов асимметричной криптографии.

Несколько лет ведется полемика об актуальности использования GPG, в рамках которой высказывается много скептицизма о громоздкости и устаревании этого криптографического продукта. Высокий порог вхождения очевиден при соответствующем поисковом запросе, который выдает много сложной информации и инструкции по работе с утилитой GPG в терминале Linux.

В этой статье рассмотрим приложение с открытым исходным кодом для работы с инструментарием GPG в графической оболочке — находка для новичков и тех, кто просто избегает загадочного черного окна командной строки. Благодаря кроссплатформенности Клеопатры, статья одинаково полезна для пользователей Windows, Linux и FreeBSD.

Установка

Во многих unix-like операционных системах Клеопатра имеется в репозиториях по умолчанию. В Debian установка выглядит так: sudo apt-get install kleopatra.

Для Windows программа распространяется в пакете , объединяющем в себе несколько полезных инструментов: непосредственно Kleopatra, GpgEX - удобный плагин для проводника Windows, который добавляет в контекстное меню пункты "Зашифровать", "Подписать", "Расшифровать", "Проверить контрольные суммы" и некоторые другие, GPA — еще один более простой на вид и менее функциональный менеджер ключей, GpgOL — плагин для почтового клиента Outlook).

Первый шаг в использовании GPG — создание своей пары ключей. Публичный ключ предоставляется всем желающим, а секретный хранится в надежном месте и служит для подписания информации от лица его владельца и расшифровки адресованной ему информации.

Создание пары ключей

По умолчанию используется шифрование RSA с длиной ключа в 2048 бит (2048 нулей и единиц машинного кода). С учетом развития квантовых технологий, данное шифрование всё менее и менее кажется надежным. В настоящее время себя хорошо зарекомендовало использование криптографии на эллиптических кривых. Подобные алгоритмы имеют невероятную криптостойкость и хорошую производительность, благодаря небольшой длине ключа.

Чтобы создать пару ключей на эллиптических кривых, переходим в дополнительные параметры. Пункт ECDSA/EdDSA — то, что нам надо. Дополнительный чекбокс (галочка) "+ECDH" **даст ключу возможность шифровать, без нее сертификат можно будет использовать только для подписи и идентификации, так как ECDSA/EdDSA — алгоритмы подписи, а не шифрования. В выпадающих списках предлагается выбрать один из алгоритмов: ed25519, brainpool и NIST.

  1. ed25519 (Curve25519) — эталонная и непатентованной реализация криптографии на эллиптической кривой, имеет 128-битную длину. Является ключом EdDSA — самым актуальным алгоритмом цифровой подписи (считается, что без закладок от силовых структур каких-либо стран).

  2. brainpool — алгоритм, разработанный немецким сообществом криптографоф, в число которых входят университеты, государственные ведомства и коммерческие организации, например, компания Bosch. Поддерживает длины в 256, 384 и 512 бит. При подписи использует несколько устаревший алгоритм ECDSA.

Для примера в обоих случаях используется алгоритм brainpool с максимальной длиной ключа. По умолчанию ключ создается со сроком годности в два года. Этот параметр можно изменить, либо вовсе отключить, тогда ключ будет бессрочным.

На следующем шаге задается пароль, который является последним рубежом защиты секретного ключа. Не следует передавать кому-то секретный ключ, но если так все-таки вышло, будет лучше, когда вы задали очень надежный пароль. Рекомендуется использовать специальные знаки (символы пунктуации и прочее) для надежной защиты от брутфорса. Лучшим вариантом будет длинный пароль, полученный из генератора случайных символов, однако не забывайте про золотую середину между использованием и безопасностью. Например, вводить на телефоне очень длинный и сложный пароль с символами из расширенной таблицы ASCII, не имея возможности его скопировать из менеджера паролей, будет весьма проблематично.

Итак, пара ключей создана! Обратите внимание на отпечаток, это уникальный идентификатор вашего ключа. Даже если кто-то захочет представиться вами, создав ключ с такими же именем и электронной почтой, его отпечаток будет отличаться. Именно поэтому важно сверять отпечатки получаемых ключей.

Клеопатра предлагает сделать резервную копию ключей, что по факту является экспортом закрытого ключа. Эту операцию в дальнейшем можно произвести в любой момент.

Открыв экспортированный ключ в текстовом редакторе, мы увидим специфичный фрагмент текста, начинающийся словами "BEGIN PGP PRIVATE KEY BLOCK". Будьте внимательны, не отправьте его кому-то по ошибке! Открытые ключи, предназначенные для передачи вторым лицам, начинаются со слов "BEGIN PGP PUBLIC KEY BLOCK".

Большое преимущество GPG перед другими средствами идентификации заключается в легкой переносимости ключа. Например, его можно распечатать на бумаге или выучить наизусть. Хранить можно только приватный ключ, так как при необходимости кому-то передать публичный, мы всегда можем экспортировать его из секретного (выводится математическим путём).

Экспорт и импорт

Для операций с ключом, щелкните по нему правой кнопкой мыши.

Для импорта ключей (нашего уже существующего на новом устройстве или полученного публичного), воспользуемся кнопкой "Импорт". Также можно использовать двойной клик по файлу ключа, это автоматически откроет Клеопатру и импортирует выбранный ключ. GPG-файлы встречаются с расширениями *.asc, *.pgp и *.gpg. Это не имеет большого значения, так как расширение нужно больше для удобства пользователя и лишь немного — приложений. Файл будет корректно прочитан и в случае, когда специальное расширение изменено или удалено.

Очень часто ключи распространяются в виде текстового блока. В таком случае, скопировав ключ, можно импортировать его через меню операций с буфером обмена.

Программа попросит удостовериться в подлинности ключа. В настоящее время самым простым и эффективным способом является сравнение отпечатка, поэтому его публикуют вместе с ключом. Если отпечаток совпадает с заявленным, заверяем сертификат.

Теперь мы можем проверять подпись владельца нового ключа и шифровать для него информацию.

Шифрование и подпись

Чтобы зашифровать и подписать файл, воспользуемся соответствующим пунктом меню на верхней панели.

После выбора файла, предлагается выбрать нужные операции. Подпись позволяет получателю убедиться в авторстве файла. Эта функция очень полезна: расшифровав архив, мы точно знаем, что архив был зашифрован владельцем обозначенного ключа, а не кем-то другим, кто просто располагает нашим публичным ключом. Использовать подпись — полезная привычка в большинстве случаев.

Распространненым способом безопасного хранения данных на облачном хранилище является GPG-шифрование файлов "для себя". В таком случае расшифровать информацию можно будет только нашим ключом.

Также возможна подпись без шифрования. Чаще всего применимо к текстовой информации. Механизм подписания строится на хеш-сумме: позволяет сравнить актуальное состояние информации с тем, какой она была, когда ее подписывал отправитель. Для примера откроем "блокнот".

Назначив отсутствие шифрования для кого-либо, оставляем только подпись и нажимаем кнопку "Подписать".

После ввода пароля от ключа, видим, что к фразе "Отличная работа" добавился дополнительный текстовый блок с хеш-суммой SHA512.

Если сейчас проверить подпись, она будет верна, но если изменить хотя бы один символ или добавить пробел, проверка выявит недействительную для данного текста подпись. Это связано с тем, что хеш-сумма данного массива информации абсолютна отлична от той, когда вместо буквы "Я" стояла "я".

В случае подписи файла без шифрования, в директории файла создается сигнатура с расширением *.sig, которую следует передавать вместе с исходным файлом. Если в файле изменится хотя бы один бит, проверка подписи выдаст ошибку.

Постскриптум

В статье опущено много технических нюансов, так как она рассчитана на широкий круг пользователей, которые в том числе имеют низкий уровень познаний в криптографии и ищут стартовую позицию для знакомства с действительно надеждным сквозным шифрованием.

На выбор предлагаются типы ключей (практически применяется в корпоративной среде) и OpenPGP. Выбираем OpenPGP. Вводим контактые данные, которые будут отображаться у всех владельцев нашего открытого ключа. Вместо настоящего имени можно указать никнейм. В дальнейшем некоторую информацию ключа будет возможно изменить.

NIST — американский алгоритм, разработанный . Рекомендован для использования государственными органами США. Поддерживает длины в 256, 384 и 521 бит. По оценке некоторых специалистов, При подписи использует несколько устаревший алгоритм ECDSA.

Все локальные ключи централизованно хранятся на устройстве в специальной папке. Все программы, взаимодействующие с GPG, будут их видеть. Для общения по протоколу XMPP (Jabber), защищенного GPG-шифрованием, можно использовать , который также является кроссплатформенным. Для ведения защищенной почтовой переписки удобно использовать этичный клиент , в который необходимо будет импортировать секретный ключ, так как он имеет свое изолированное хранилище ключей. Об использовании Thunderbird написано .

X.509
Национальным Институтом Стандартов и Технологий
NIST лучше brainpool по производительности.
Gajim
Thunderbird
тут
https://habr.com/ru/articles/551138/
GPG
PGP
GPG4Win