Kriptografi

Artikel ini memberikan gambaran umum tentang fitur kriptografi yang tersedia untuk aplikasi Universal Windows Platform (UWP). Untuk informasi terperinci tentang tugas tertentu, lihat tabel di akhir artikel ini.

Terminologi

Terminologi berikut ini umumnya digunakan dalam kriptografi dan infrastruktur kunci publik (PKI).

Istilah Deskripsi
Enkripsi Proses transformasi data dengan menggunakan algoritma kriptografi dan kunci. Data yang diubah hanya dapat dipulihkan dengan menggunakan algoritma yang sama dan kunci (simetris) atau terkait (publik) yang sama.
Dekripsi Proses mengembalikan data terenkripsi ke bentuk aslinya.
Plaintext Awalnya mengacu pada pesan teks yang tidak terenkripsi. Saat ini mengacu pada data yang tidak terenkripsi.
Ciphertext Awalnya mengacu pada pesan teks terenkripsi, dan karena itu tidak dapat dibaca. Saat ini mengacu pada data terenkripsi apa pun.
Hashing Proses mengubah data panjang variabel menjadi panjang tetap, biasanya lebih kecil, nilai. Dengan membandingkan hash, Anda bisa mendapatkan jaminan yang masuk akal bahwa dua atau lebih data adalah sama.
Tanda Tangan Hash terenkripsi dari data digital biasanya digunakan untuk mengautentikasi pengirim data atau memverifikasi bahwa data tidak dirusak selama transmisi.
Algoritma Prosedur langkah demi langkah untuk mengenkripsi data.
Kunci Nomor acak atau pseudorandom yang digunakan sebagai input ke algoritma kriptografi untuk mengenkripsi dan mendekripsi data.
Kriptografi Kunci Simetris Kriptografi di mana enkripsi dan dekripsi menggunakan kunci yang sama. Ini juga dikenal sebagai kriptografi kunci rahasia.
Kriptografi Kunci Asimetris Kriptografi di mana enkripsi dan dekripsi menggunakan kunci yang berbeda tetapi terkait secara matematis. Ini juga disebut kriptografi kunci publik.
Pengodean Proses pengkodean pesan digital, termasuk sertifikat, untuk transportasi di seluruh jaringan.
Penyedia Algoritma DLL yang mengimplementasikan algoritma kriptografi.
Penyedia Storage Utama Wadah untuk menyimpan bahan kunci. Saat ini, kunci dapat disimpan dalam perangkat lunak, kartu pintar, atau modul platform tepercaya (TPM).
Sertifikat X.509. Dokumen digital, biasanya dikeluarkan oleh otoritas sertifikasi, untuk memverifikasi identitas individu, sistem, atau entitas kepada pihak lain yang berkepentingan.

 

Namaspace

Ruang nama berikut tersedia untuk digunakan dalam aplikasi.

Windows. Security.Kriptografi

Berisi kelas CryptographicBuffer dan metode statis yang memungkinkan Anda untuk:

  • Mengonversi data ke dan dari string
  • Mengonversi data ke dan dari array byte
  • Menyandikan pesan untuk transportasi jaringan
  • Memecahkan kode pesan setelah transportasi

Windows. Security.Cryptography.Sertifikat

Berisi kelas, antarmuka, dan jenis pencacahan yang memungkinkan Anda untuk:

  • Membuat permintaan sertifikat
  • Menginstal respons sertifikat
  • Mengimpor sertifikat dalam file PFX
  • Menentukan dan mengambil properti permintaan sertifikat

Windows. Security.Cryptography.Core

Berisi kelas dan jenis pencacahan yang memungkinkan Anda untuk:

  • Mengenkripsi dan mendekripsi data
  • Data hash
  • Menandatangani data dan memverifikasi tanda tangan
  • Membuat, mengimpor, dan mengekspor kunci
  • Bekerja dengan penyedia algoritma kunci asimetris
  • Bekerja dengan penyedia algoritma kunci simetris
  • Bekerja dengan penyedia algoritma hash
  • Bekerja dengan penyedia algoritma kode autentikasi mesin (MAC)
  • Bekerja dengan penyedia algoritma derivasi kunci

Windows. Security.Cryptography.DataProtection

Berisi kelas yang memungkinkan Anda untuk:

  • Mengenkripsi dan mendekripsi data statis secara asinkron
  • Mengenkripsi dan mendekripsi aliran data secara asinkron

Kemampuan aplikasi Crypto dan PKI

Antarmuka pemrograman aplikasi yang disederhanakan yang tersedia untuk aplikasi memungkinkan kemampuan kriptografi dan infrastruktur kunci publik (PKI) berikut.

Dukungan kriptografi

Anda dapat melakukan tugas kriptografi berikut. Untuk informasi lebih lanjut, lihat Windows. Security.Cryptography.Core namespace.

  • Membuat tombol simetris
  • Lakukan enkripsi simetris
  • Membuat tombol asimetris
  • Lakukan enkripsi asimetris
  • Mendapatkan kunci berbasis kata sandi
  • Membuat kode autentikasi pesan (MACs)
  • Konten hash
  • Menandatangani konten secara digital

SDK juga menyediakan antarmuka yang disederhanakan untuk perlindungan data berbasis kata sandi. Anda dapat menggunakan ini untuk melakukan tugas-tugas berikut. Untuk informasi lebih lanjut, lihat Windows. Namespace Security.Cryptography.DataProtection.

  • Perlindungan asinkron data statis
  • Perlindungan asinkron dari aliran data

Dukungan pengkodean

Aplikasi dapat menyandikan data kriptografi untuk transmisi di seluruh jaringan dan memecahkan kode data yang diterima dari sumber jaringan. Untuk informasi selengkapnya, lihat metode statis yang tersedia di Windows. Ruang nama Security.Cryptography.

Dukungan PKI

Aplikasi dapat melakukan tugas PKI berikut. Untuk informasi lebih lanjut, lihat Windows. Security.Cryptography.Certificates namespace.

  • Membuat sertifikat
  • Membuat sertifikat yang ditandatangani sendiri
  • Menginstal respons sertifikat
  • Mengimpor sertifikat dalam format PFX
  • Gunakan sertifikat dan kunci kartu pintar (pengaturan kemampuan sharedUserCertificates)
  • Menggunakan sertifikat dari toko MY pengguna (pengaturan kemampuan sharedUserCertificates)

Selain itu, Anda dapat menggunakan manifes untuk melakukan tindakan berikut:

  • Tentukan per aplikasi sertifikat akar tepercaya
  • Tentukan per sertifikat tepercaya rekan aplikasi
  • Secara eksplisit menonaktifkan pewarisan dari kepercayaan sistem
  • Tentukan kriteria pemilihan sertifikat
    • Sertifikat perangkat keras saja
    • Sertifikat yang dirantai melalui satu set penerbit tertentu
    • Secara otomatis memilih sertifikat dari toko aplikasi

Artikel terperinci

Artikel berikut memberikan lebih detail tentang skenario keamanan:

Topik Deskripsi
Sertifikat Artikel ini membahas penggunaan sertifikat di aplikasi UWP. Sertifikat digital digunakan dalam kriptografi kunci publik untuk mengikat kunci publik ke seseorang, komputer, atau organisasi. Identitas terikat paling sering digunakan untuk mengautentikasi satu entitas ke entitas lainnya. Misalnya, sertifikat sering digunakan untuk mengautentikasi server web ke pengguna dan pengguna ke server web. Anda dapat membuat permintaan sertifikat dan menginstal atau mengimpor sertifikat yang dikeluarkan. Anda juga dapat mendaftarkan sertifikat dalam hierarki sertifikat.
Kunci kriptografis Artikel ini menunjukkan cara menggunakan fungsi derivasi kunci standar untuk mendapatkan kunci dan cara mengenkripsi konten menggunakan kunci simetris dan asimetris.
Perlindungan data Artikel ini menjelaskan cara menggunakan kelas DataProtectionProvider di Windows. Security.Cryptography.DataProtection namespace untuk mengenkripsi dan mendekripsi data digital dalam aplikasi UWP.
MACs, hash, dan tanda tangan Artikel ini membahas bagaimana kode otentikasi pesan (MAC), hash, dan tanda tangan dapat digunakan di aplikasi UWP untuk mendeteksi gangguan pesan.
Pembatasan ekspor pada kriptografi Gunakan info ini untuk menentukan apakah aplikasi Anda menggunakan kriptografi dengan cara yang dapat mencegahnya terdaftar di Microsoft Store.
Tugas kriptografi umum Artikel-artikel ini memberikan kode contoh untuk tugas kriptografi UWP umum, seperti membuat angka acak, membandingkan buffer, mengkonversi antara string dan data biner, menyalin ke dan dari array byte, dan pengkodean dan decoding data.