Bilgisayar korsanları sık sık yazılım alır - çevrimdışı veya çevrimiçi olsun - kötü amaçlı hale getirmek için kodu yeniden düzenler ve değiştirir ve ardından çevrimiçi olarak yükler, böylece kullanıcılar ücretsiz programı ve içerdiği kötü amaçlı kodu indirir. Kullanıcıların bu sorunu çözmemesini sağlamak için kod imzalama kullanılır. Kod imzalama, programı yapan orijinal programcının veya şirketin, programı imzaladığını ve program yüklendiğinde, programın kod eklemesi veya değiştirilmemesini sağlamak için kimliği doğrulanır. Bu, kullanıcının tarafında herhangi bir özel yazılım gerektirmez ve kullanıcı programcının kimliğini doğrulayabilir. Bu bir güvenlik biçimi olarak düşünülmekle birlikte, bir program oluşturan veya imzanın etrafından uzaklaşan bir bilgisayar korsanı yapay ve yanlış yerleştirilmiş bir güven yaratabilir.
Programlar sürekli olarak çevrimiçi ve çevrimdışı olarak satılmaktadır. Bir kişi güvenilir bir tedarikçiden veya perakendeciden çevrimdışı bir program satın aldığında, kullanıcının bilgisayar korsanlarının programa kötü niyetli kod enjekte etmesi konusunda endişelenmek için çok az nedeni vardır. Bunun nedeni, yazılım geliştiricisi kasıtlı olarak tehlikeli bir program yapmadıkça, birisinin yazılımı tahrif etmesinin ve kötü niyetli yapmasının mümkün olmamasıdır. Bir kullanıcı İnternetten bir program indirdiğinde böyle bir garanti yoktur.
Çevrimiçi programlar satın alan veya indiren kullanıcıları korumak için kod imzalama uygulanır. Kod imzalama iki bölüme ayrılır: geliştirici ve son kullanıcı. Geliştirici, şifrelemeli bir karma kullanır, programın kodunu gizleyen tek yönlü bir işlem kullanır ve ardından özel anahtarını karma ile birleştirir. Bu, programın üzerine yerleştirilen bir imza oluşturur.
Kullanıcı programı aldığında, kod imzalama işleminin ikinci kısmı gerçekleşir. Program, sertifikayı ve programcının programa yerleştirdiği ortak anahtarı inceler. Genel anahtarı kullanarak, program mevcut programlamaya aynı hastayı çalıştırabilir ve ardından orijinali kurulu olan versiyona göre kontrol eder. Hem kurulu program hem de orijinal senkronizasyon sırasında, bu, kullanıcıya hiçbir şeyin değiştirilmediğini gösterir. Bu işlem otomatik olarak yapılır ve bu kimlik doğrulaması için gerekli programlar bilgisayarın işletim sistemine önceden yüklenmelidir.
Kod imzalama güvenliği sağlamak için güçlü bir yöntem olsa da, kusurları vardır. Kullanıcı bir bilgisayar korsanından bir program indiriyorsa, kimlik doğrulama orijinal programın eksiksiz olduğunu gösterecektir. Bu, kullanıcıyı yanlış bir güvenlik hissine götürür; program kötü amaçlı yapıldığından, bu anlamda güvenlik sağlanamamaktadır. Sofistike bilgisayar korsanları da kodlamayı enjekte etmek için hash etrafında dolaşarak kodun işe yaramaz bir şekilde imzalanmasını sağlar.


